Your IP : 18.191.74.66


Current Path : /proc/self/root/usr/lib64/perl5/bits/
Upload File :
Current File : //proc/self/root/usr/lib64/perl5/bits/byteswap.ph

require '_h2ph_pre.ph';

no warnings qw(redefine misc);

if(!defined (&_BYTESWAP_H)  && !defined (&_NETINET_IN_H)  && !defined (&_ENDIAN_H)) {
    die("Never use <bits/byteswap.h> directly; include <byteswap.h> instead.");
}
unless(defined(&_BITS_BYTESWAP_H)) {
    eval 'sub _BITS_BYTESWAP_H () {1;}' unless defined(&_BITS_BYTESWAP_H);
    require 'features.ph';
    require 'bits/types.ph';
    require 'bits/wordsize.ph';
    eval 'sub __bswap_constant_16 {
        my($x) = @_;
	    eval q(( (((($x) >> 8) & 0xff) | ((($x) & 0xff) << 8))));
    }' unless defined(&__bswap_constant_16);
    require 'bits/byteswap-16.ph';
    eval 'sub __bswap_constant_32 {
        my($x) = @_;
	    eval q((((($x) & 0xff000000) >> 24) | ((($x) & 0xff0000) >> 8) | ((($x) & 0xff00) << 8) | ((($x) & 0xff) << 24)));
    }' unless defined(&__bswap_constant_32);
    if(defined(&__GNUC__)) {
	if( &__GNUC_PREREQ (4, 3)) {
	    eval 'sub __bswap_32 {
	        my($__bsx) = @_;
    		eval q({  &__builtin_bswap32 ($__bsx); });
	    }' unless defined(&__bswap_32);
	}
 elsif((defined(&__GNUC__) ? &__GNUC__ : undef) >= 2) {
	    if((defined(&__WORDSIZE) ? &__WORDSIZE : undef) == 64|| (defined (&__i486__) || defined (&__pentium__) || defined (&__pentiumpro__) || defined (&__pentium4__) || defined (&__k8__) || defined (&__athlon__) || defined (&__k6__) || defined (&__nocona__) || defined (&__core2__) || defined (&__geode__) || defined (&__amdfam10__))) {
		eval 'sub __bswap_32 {
		    my($x) = @_;
    		    eval q(\\"(assembly code)\\");
		}' unless defined(&__bswap_32);
	    } else {
		eval 'sub __bswap_32 {
		    my($x) = @_;
    		    eval q(\\"(assembly code)\\");
		}' unless defined(&__bswap_32);
	    }
	} else {
	    eval 'sub __bswap_32 {
	        my($x) = @_;
    		eval q(( &__extension__ ({ \'unsigned int __x\' = ($x);  &__bswap_constant_32 ( &__x); })));
	    }' unless defined(&__bswap_32);
	}
    } else {
	eval 'sub __bswap_32 {
	    my($__bsx) = @_;
    	    eval q({  &__bswap_constant_32 ($__bsx); });
	}' unless defined(&__bswap_32);
    }
    if( &__GNUC_PREREQ (2, 0)) {
	eval 'sub __bswap_constant_64 {
	    my($x) = @_;
    	    eval q(( &__extension__ (((($x) & 0xff00000000000000) >> 56) | ((($x) & 0xff000000000000) >> 40) | ((($x) & 0xff0000000000) >> 24) | ((($x) & 0xff00000000) >> 8) | ((($x) & 0xff000000) << 8) | ((($x) & 0xff0000) << 24) | ((($x) & 0xff00) << 40) | ((($x) & 0xff) << 56))));
	}' unless defined(&__bswap_constant_64);
	if( &__GNUC_PREREQ (4, 3)) {
	    eval 'sub __bswap_64 {
	        my($__bsx) = @_;
    		eval q({  &__builtin_bswap64 ($__bsx); });
	    }' unless defined(&__bswap_64);
	}
 elsif((defined(&__WORDSIZE) ? &__WORDSIZE : undef) == 64) {
	    eval 'sub __bswap_64 {
	        my($x) = @_;
    		eval q(\\"(assembly code)\\");
	    }' unless defined(&__bswap_64);
	} else {
	    eval 'sub __bswap_64 {
	        my($x) = @_;
    		eval q(( &__extension__ ({ \'union union\' {  &__extension__  &__uint64_t  &__ll; \'unsigned int __l\'[2]; }  &__w,  &__r;  &if ( &__builtin_constant_p ($x))  ($__r->{__ll}) =  &__bswap_constant_64 ($x);  &else {  ($__w->{__ll}) = ($x);  ($__r->{__l[0]}) =  &__bswap_32 ( ($__w->{__l[1]}));  ($__r->{__l[1]}) =  &__bswap_32 ( ($__w->{__l[0]})); }  ($__r->{__ll}); })));
	    }' unless defined(&__bswap_64);
	}
    }
 elsif((defined(&__GLIBC_HAVE_LONG_LONG) ? &__GLIBC_HAVE_LONG_LONG : undef)) {
	eval 'sub __bswap_constant_64 {
	    my($x) = @_;
    	    eval q((((($x) & 0xff00000000000000) >> 56) | ((($x) & 0xff000000000000) >> 40) | ((($x) & 0xff0000000000) >> 24) | ((($x) & 0xff00000000) >> 8) | ((($x) & 0xff000000) << 8) | ((($x) & 0xff0000) << 24) | ((($x) & 0xff00) << 40) | ((($x) & 0xff) << 56)));
	}' unless defined(&__bswap_constant_64);
	eval 'sub __bswap_64 {
	    my($__bsx) = @_;
    	    eval q({  &__bswap_constant_64 ($__bsx); });
	}' unless defined(&__bswap_64);
    }
}
1;