# 0 "regrename.c" # 1 "/home/chenglulu/work/benchmark/cpu2006-v1.1/benchspec/CPU2006/403.gcc/build/build_base_trunk.0000//" # 0 "" #define __STDC__ 1 # 0 "" #define __STDC_VERSION__ 201710L # 0 "" #define __STDC_UTF_16__ 1 # 0 "" #define __STDC_UTF_32__ 1 # 0 "" #define __STDC_HOSTED__ 1 # 0 "" #define __GNUC__ 14 # 0 "" #define __GNUC_MINOR__ 0 # 0 "" #define __GNUC_PATCHLEVEL__ 1 # 0 "" #define __VERSION__ "14.0.1 20240115 (experimental)" # 0 "" #define __ATOMIC_RELAXED 0 # 0 "" #define __ATOMIC_SEQ_CST 5 # 0 "" #define __ATOMIC_ACQUIRE 2 # 0 "" #define __ATOMIC_RELEASE 3 # 0 "" #define __ATOMIC_ACQ_REL 4 # 0 "" #define __ATOMIC_CONSUME 1 # 0 "" #define __OPTIMIZE__ 1 # 0 "" #define __FINITE_MATH_ONLY__ 0 # 0 "" #define _LP64 1 # 0 "" #define __LP64__ 1 # 0 "" #define __SIZEOF_INT__ 4 # 0 "" #define __SIZEOF_LONG__ 8 # 0 "" #define __SIZEOF_LONG_LONG__ 8 # 0 "" #define __SIZEOF_SHORT__ 2 # 0 "" #define __SIZEOF_FLOAT__ 4 # 0 "" #define __SIZEOF_DOUBLE__ 8 # 0 "" #define __SIZEOF_LONG_DOUBLE__ 16 # 0 "" #define __SIZEOF_SIZE_T__ 8 # 0 "" #define __CHAR_BIT__ 8 # 0 "" #define __BIGGEST_ALIGNMENT__ 32 # 0 "" #define __ORDER_LITTLE_ENDIAN__ 1234 # 0 "" #define __ORDER_BIG_ENDIAN__ 4321 # 0 "" #define __ORDER_PDP_ENDIAN__ 3412 # 0 "" #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ # 0 "" #define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ # 0 "" #define __SIZEOF_POINTER__ 8 # 0 "" #define __GNUC_EXECUTION_CHARSET_NAME "UTF-8" # 0 "" #define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE" # 0 "" #define __SIZE_TYPE__ long unsigned int # 0 "" #define __PTRDIFF_TYPE__ long int # 0 "" #define __WCHAR_TYPE__ int # 0 "" #define __WINT_TYPE__ unsigned int # 0 "" #define __INTMAX_TYPE__ long int # 0 "" #define __UINTMAX_TYPE__ long unsigned int # 0 "" #define __CHAR16_TYPE__ short unsigned int # 0 "" #define __CHAR32_TYPE__ unsigned int # 0 "" #define __SIG_ATOMIC_TYPE__ int # 0 "" #define __INT8_TYPE__ signed char # 0 "" #define __INT16_TYPE__ short int # 0 "" #define __INT32_TYPE__ int # 0 "" #define __INT64_TYPE__ long int # 0 "" #define __UINT8_TYPE__ unsigned char # 0 "" #define __UINT16_TYPE__ short unsigned int # 0 "" #define __UINT32_TYPE__ unsigned int # 0 "" #define __UINT64_TYPE__ long unsigned int # 0 "" #define __INT_LEAST8_TYPE__ signed char # 0 "" #define __INT_LEAST16_TYPE__ short int # 0 "" #define __INT_LEAST32_TYPE__ int # 0 "" #define __INT_LEAST64_TYPE__ long int # 0 "" #define __UINT_LEAST8_TYPE__ unsigned char # 0 "" #define __UINT_LEAST16_TYPE__ short unsigned int # 0 "" #define __UINT_LEAST32_TYPE__ unsigned int # 0 "" #define __UINT_LEAST64_TYPE__ long unsigned int # 0 "" #define __INT_FAST8_TYPE__ signed char # 0 "" #define __INT_FAST16_TYPE__ long int # 0 "" #define __INT_FAST32_TYPE__ long int # 0 "" #define __INT_FAST64_TYPE__ long int # 0 "" #define __UINT_FAST8_TYPE__ unsigned char # 0 "" #define __UINT_FAST16_TYPE__ long unsigned int # 0 "" #define __UINT_FAST32_TYPE__ long unsigned int # 0 "" #define __UINT_FAST64_TYPE__ long unsigned int # 0 "" #define __INTPTR_TYPE__ long int # 0 "" #define __UINTPTR_TYPE__ long unsigned int # 0 "" #define __GXX_ABI_VERSION 1019 # 0 "" #define __SCHAR_MAX__ 0x7f # 0 "" #define __SHRT_MAX__ 0x7fff # 0 "" #define __INT_MAX__ 0x7fffffff # 0 "" #define __LONG_MAX__ 0x7fffffffffffffffL # 0 "" #define __LONG_LONG_MAX__ 0x7fffffffffffffffLL # 0 "" #define __WCHAR_MAX__ 0x7fffffff # 0 "" #define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) # 0 "" #define __WINT_MAX__ 0xffffffffU # 0 "" #define __WINT_MIN__ 0U # 0 "" #define __PTRDIFF_MAX__ 0x7fffffffffffffffL # 0 "" #define __SIZE_MAX__ 0xffffffffffffffffUL # 0 "" #define __SCHAR_WIDTH__ 8 # 0 "" #define __SHRT_WIDTH__ 16 # 0 "" #define __INT_WIDTH__ 32 # 0 "" #define __LONG_WIDTH__ 64 # 0 "" #define __LONG_LONG_WIDTH__ 64 # 0 "" #define __WCHAR_WIDTH__ 32 # 0 "" #define __WINT_WIDTH__ 32 # 0 "" #define __PTRDIFF_WIDTH__ 64 # 0 "" #define __SIZE_WIDTH__ 64 # 0 "" #define __INTMAX_MAX__ 0x7fffffffffffffffL # 0 "" #define __INTMAX_C(c) c ## L # 0 "" #define __UINTMAX_MAX__ 0xffffffffffffffffUL # 0 "" #define __UINTMAX_C(c) c ## UL # 0 "" #define __INTMAX_WIDTH__ 64 # 0 "" #define __SIG_ATOMIC_MAX__ 0x7fffffff # 0 "" #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) # 0 "" #define __SIG_ATOMIC_WIDTH__ 32 # 0 "" #define __INT8_MAX__ 0x7f # 0 "" #define __INT16_MAX__ 0x7fff # 0 "" #define __INT32_MAX__ 0x7fffffff # 0 "" #define __INT64_MAX__ 0x7fffffffffffffffL # 0 "" #define __UINT8_MAX__ 0xff # 0 "" #define __UINT16_MAX__ 0xffff # 0 "" #define __UINT32_MAX__ 0xffffffffU # 0 "" #define __UINT64_MAX__ 0xffffffffffffffffUL # 0 "" #define __INT_LEAST8_MAX__ 0x7f # 0 "" #define __INT8_C(c) c # 0 "" #define __INT_LEAST8_WIDTH__ 8 # 0 "" #define __INT_LEAST16_MAX__ 0x7fff # 0 "" #define __INT16_C(c) c # 0 "" #define __INT_LEAST16_WIDTH__ 16 # 0 "" #define __INT_LEAST32_MAX__ 0x7fffffff # 0 "" #define __INT32_C(c) c # 0 "" #define __INT_LEAST32_WIDTH__ 32 # 0 "" #define __INT_LEAST64_MAX__ 0x7fffffffffffffffL # 0 "" #define __INT64_C(c) c ## L # 0 "" #define __INT_LEAST64_WIDTH__ 64 # 0 "" #define __UINT_LEAST8_MAX__ 0xff # 0 "" #define __UINT8_C(c) c # 0 "" #define __UINT_LEAST16_MAX__ 0xffff # 0 "" #define __UINT16_C(c) c # 0 "" #define __UINT_LEAST32_MAX__ 0xffffffffU # 0 "" #define __UINT32_C(c) c ## U # 0 "" #define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL # 0 "" #define __UINT64_C(c) c ## UL # 0 "" #define __INT_FAST8_MAX__ 0x7f # 0 "" #define __INT_FAST8_WIDTH__ 8 # 0 "" #define __INT_FAST16_MAX__ 0x7fffffffffffffffL # 0 "" #define __INT_FAST16_WIDTH__ 64 # 0 "" #define __INT_FAST32_MAX__ 0x7fffffffffffffffL # 0 "" #define __INT_FAST32_WIDTH__ 64 # 0 "" #define __INT_FAST64_MAX__ 0x7fffffffffffffffL # 0 "" #define __INT_FAST64_WIDTH__ 64 # 0 "" #define __UINT_FAST8_MAX__ 0xff # 0 "" #define __UINT_FAST16_MAX__ 0xffffffffffffffffUL # 0 "" #define __UINT_FAST32_MAX__ 0xffffffffffffffffUL # 0 "" #define __UINT_FAST64_MAX__ 0xffffffffffffffffUL # 0 "" #define __INTPTR_MAX__ 0x7fffffffffffffffL # 0 "" #define __INTPTR_WIDTH__ 64 # 0 "" #define __UINTPTR_MAX__ 0xffffffffffffffffUL # 0 "" #define __GCC_IEC_559 2 # 0 "" #define __GCC_IEC_559_COMPLEX 2 # 0 "" #define __FLT_EVAL_METHOD__ 0 # 0 "" #define __FLT_EVAL_METHOD_TS_18661_3__ 0 # 0 "" #define __DEC_EVAL_METHOD__ 2 # 0 "" #define __FLT_RADIX__ 2 # 0 "" #define __FLT_MANT_DIG__ 24 # 0 "" #define __FLT_DIG__ 6 # 0 "" #define __FLT_MIN_EXP__ (-125) # 0 "" #define __FLT_MIN_10_EXP__ (-37) # 0 "" #define __FLT_MAX_EXP__ 128 # 0 "" #define __FLT_MAX_10_EXP__ 38 # 0 "" #define __FLT_DECIMAL_DIG__ 9 # 0 "" #define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F # 0 "" #define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F # 0 "" #define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F # 0 "" #define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F # 0 "" #define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F # 0 "" #define __FLT_HAS_DENORM__ 1 # 0 "" #define __FLT_HAS_INFINITY__ 1 # 0 "" #define __FLT_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF 1 # 0 "" #define __FLT_IS_IEC_60559__ 1 # 0 "" #define __DBL_MANT_DIG__ 53 # 0 "" #define __DBL_DIG__ 15 # 0 "" #define __DBL_MIN_EXP__ (-1021) # 0 "" #define __DBL_MIN_10_EXP__ (-307) # 0 "" #define __DBL_MAX_EXP__ 1024 # 0 "" #define __DBL_MAX_10_EXP__ 308 # 0 "" #define __DBL_DECIMAL_DIG__ 17 # 0 "" #define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L) # 0 "" #define __DBL_NORM_MAX__ ((double)1.79769313486231570814527423731704357e+308L) # 0 "" #define __DBL_MIN__ ((double)2.22507385850720138309023271733240406e-308L) # 0 "" #define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L) # 0 "" #define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L) # 0 "" #define __DBL_HAS_DENORM__ 1 # 0 "" #define __DBL_HAS_INFINITY__ 1 # 0 "" #define __DBL_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMA 1 # 0 "" #define __DBL_IS_IEC_60559__ 1 # 0 "" #define __LDBL_MANT_DIG__ 113 # 0 "" #define __LDBL_DIG__ 33 # 0 "" #define __LDBL_MIN_EXP__ (-16381) # 0 "" #define __LDBL_MIN_10_EXP__ (-4931) # 0 "" #define __LDBL_MAX_EXP__ 16384 # 0 "" #define __LDBL_MAX_10_EXP__ 4932 # 0 "" #define __DECIMAL_DIG__ 36 # 0 "" #define __LDBL_DECIMAL_DIG__ 36 # 0 "" #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L # 0 "" #define __LDBL_NORM_MAX__ 1.18973149535723176508575932662800702e+4932L # 0 "" #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L # 0 "" #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L # 0 "" #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L # 0 "" #define __LDBL_HAS_DENORM__ 1 # 0 "" #define __LDBL_HAS_INFINITY__ 1 # 0 "" #define __LDBL_HAS_QUIET_NAN__ 1 # 0 "" #define __LDBL_IS_IEC_60559__ 1 # 0 "" #define __FLT32_MANT_DIG__ 24 # 0 "" #define __FLT32_DIG__ 6 # 0 "" #define __FLT32_MIN_EXP__ (-125) # 0 "" #define __FLT32_MIN_10_EXP__ (-37) # 0 "" #define __FLT32_MAX_EXP__ 128 # 0 "" #define __FLT32_MAX_10_EXP__ 38 # 0 "" #define __FLT32_DECIMAL_DIG__ 9 # 0 "" #define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 # 0 "" #define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32 # 0 "" #define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 # 0 "" #define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 # 0 "" #define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 # 0 "" #define __FLT32_HAS_DENORM__ 1 # 0 "" #define __FLT32_HAS_INFINITY__ 1 # 0 "" #define __FLT32_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF32 1 # 0 "" #define __FLT32_IS_IEC_60559__ 1 # 0 "" #define __FLT64_MANT_DIG__ 53 # 0 "" #define __FLT64_DIG__ 15 # 0 "" #define __FLT64_MIN_EXP__ (-1021) # 0 "" #define __FLT64_MIN_10_EXP__ (-307) # 0 "" #define __FLT64_MAX_EXP__ 1024 # 0 "" #define __FLT64_MAX_10_EXP__ 308 # 0 "" #define __FLT64_DECIMAL_DIG__ 17 # 0 "" #define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 # 0 "" #define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64 # 0 "" #define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 # 0 "" #define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 # 0 "" #define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 # 0 "" #define __FLT64_HAS_DENORM__ 1 # 0 "" #define __FLT64_HAS_INFINITY__ 1 # 0 "" #define __FLT64_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF64 1 # 0 "" #define __FLT64_IS_IEC_60559__ 1 # 0 "" #define __FLT128_MANT_DIG__ 113 # 0 "" #define __FLT128_DIG__ 33 # 0 "" #define __FLT128_MIN_EXP__ (-16381) # 0 "" #define __FLT128_MIN_10_EXP__ (-4931) # 0 "" #define __FLT128_MAX_EXP__ 16384 # 0 "" #define __FLT128_MAX_10_EXP__ 4932 # 0 "" #define __FLT128_DECIMAL_DIG__ 36 # 0 "" #define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 # 0 "" #define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128 # 0 "" #define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 # 0 "" #define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 # 0 "" #define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 # 0 "" #define __FLT128_HAS_DENORM__ 1 # 0 "" #define __FLT128_HAS_INFINITY__ 1 # 0 "" #define __FLT128_HAS_QUIET_NAN__ 1 # 0 "" #define __FLT128_IS_IEC_60559__ 1 # 0 "" #define __FLT32X_MANT_DIG__ 53 # 0 "" #define __FLT32X_DIG__ 15 # 0 "" #define __FLT32X_MIN_EXP__ (-1021) # 0 "" #define __FLT32X_MIN_10_EXP__ (-307) # 0 "" #define __FLT32X_MAX_EXP__ 1024 # 0 "" #define __FLT32X_MAX_10_EXP__ 308 # 0 "" #define __FLT32X_DECIMAL_DIG__ 17 # 0 "" #define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x # 0 "" #define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x # 0 "" #define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x # 0 "" #define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x # 0 "" #define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x # 0 "" #define __FLT32X_HAS_DENORM__ 1 # 0 "" #define __FLT32X_HAS_INFINITY__ 1 # 0 "" #define __FLT32X_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF32x 1 # 0 "" #define __FLT32X_IS_IEC_60559__ 1 # 0 "" #define __FLT64X_MANT_DIG__ 113 # 0 "" #define __FLT64X_DIG__ 33 # 0 "" #define __FLT64X_MIN_EXP__ (-16381) # 0 "" #define __FLT64X_MIN_10_EXP__ (-4931) # 0 "" #define __FLT64X_MAX_EXP__ 16384 # 0 "" #define __FLT64X_MAX_10_EXP__ 4932 # 0 "" #define __FLT64X_DECIMAL_DIG__ 36 # 0 "" #define __FLT64X_MAX__ 1.18973149535723176508575932662800702e+4932F64x # 0 "" #define __FLT64X_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F64x # 0 "" #define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x # 0 "" #define __FLT64X_EPSILON__ 1.92592994438723585305597794258492732e-34F64x # 0 "" #define __FLT64X_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F64x # 0 "" #define __FLT64X_HAS_DENORM__ 1 # 0 "" #define __FLT64X_HAS_INFINITY__ 1 # 0 "" #define __FLT64X_HAS_QUIET_NAN__ 1 # 0 "" #define __FLT64X_IS_IEC_60559__ 1 # 0 "" #define __SFRACT_FBIT__ 7 # 0 "" #define __SFRACT_IBIT__ 0 # 0 "" #define __SFRACT_MIN__ (-0.5HR-0.5HR) # 0 "" #define __SFRACT_MAX__ 0X7FP-7HR # 0 "" #define __SFRACT_EPSILON__ 0x1P-7HR # 0 "" #define __USFRACT_FBIT__ 8 # 0 "" #define __USFRACT_IBIT__ 0 # 0 "" #define __USFRACT_MIN__ 0.0UHR # 0 "" #define __USFRACT_MAX__ 0XFFP-8UHR # 0 "" #define __USFRACT_EPSILON__ 0x1P-8UHR # 0 "" #define __FRACT_FBIT__ 15 # 0 "" #define __FRACT_IBIT__ 0 # 0 "" #define __FRACT_MIN__ (-0.5R-0.5R) # 0 "" #define __FRACT_MAX__ 0X7FFFP-15R # 0 "" #define __FRACT_EPSILON__ 0x1P-15R # 0 "" #define __UFRACT_FBIT__ 16 # 0 "" #define __UFRACT_IBIT__ 0 # 0 "" #define __UFRACT_MIN__ 0.0UR # 0 "" #define __UFRACT_MAX__ 0XFFFFP-16UR # 0 "" #define __UFRACT_EPSILON__ 0x1P-16UR # 0 "" #define __LFRACT_FBIT__ 31 # 0 "" #define __LFRACT_IBIT__ 0 # 0 "" #define __LFRACT_MIN__ (-0.5LR-0.5LR) # 0 "" #define __LFRACT_MAX__ 0X7FFFFFFFP-31LR # 0 "" #define __LFRACT_EPSILON__ 0x1P-31LR # 0 "" #define __ULFRACT_FBIT__ 32 # 0 "" #define __ULFRACT_IBIT__ 0 # 0 "" #define __ULFRACT_MIN__ 0.0ULR # 0 "" #define __ULFRACT_MAX__ 0XFFFFFFFFP-32ULR # 0 "" #define __ULFRACT_EPSILON__ 0x1P-32ULR # 0 "" #define __LLFRACT_FBIT__ 63 # 0 "" #define __LLFRACT_IBIT__ 0 # 0 "" #define __LLFRACT_MIN__ (-0.5LLR-0.5LLR) # 0 "" #define __LLFRACT_MAX__ 0X7FFFFFFFFFFFFFFFP-63LLR # 0 "" #define __LLFRACT_EPSILON__ 0x1P-63LLR # 0 "" #define __ULLFRACT_FBIT__ 64 # 0 "" #define __ULLFRACT_IBIT__ 0 # 0 "" #define __ULLFRACT_MIN__ 0.0ULLR # 0 "" #define __ULLFRACT_MAX__ 0XFFFFFFFFFFFFFFFFP-64ULLR # 0 "" #define __ULLFRACT_EPSILON__ 0x1P-64ULLR # 0 "" #define __SACCUM_FBIT__ 7 # 0 "" #define __SACCUM_IBIT__ 8 # 0 "" #define __SACCUM_MIN__ (-0X1P7HK-0X1P7HK) # 0 "" #define __SACCUM_MAX__ 0X7FFFP-7HK # 0 "" #define __SACCUM_EPSILON__ 0x1P-7HK # 0 "" #define __USACCUM_FBIT__ 8 # 0 "" #define __USACCUM_IBIT__ 8 # 0 "" #define __USACCUM_MIN__ 0.0UHK # 0 "" #define __USACCUM_MAX__ 0XFFFFP-8UHK # 0 "" #define __USACCUM_EPSILON__ 0x1P-8UHK # 0 "" #define __ACCUM_FBIT__ 15 # 0 "" #define __ACCUM_IBIT__ 16 # 0 "" #define __ACCUM_MIN__ (-0X1P15K-0X1P15K) # 0 "" #define __ACCUM_MAX__ 0X7FFFFFFFP-15K # 0 "" #define __ACCUM_EPSILON__ 0x1P-15K # 0 "" #define __UACCUM_FBIT__ 16 # 0 "" #define __UACCUM_IBIT__ 16 # 0 "" #define __UACCUM_MIN__ 0.0UK # 0 "" #define __UACCUM_MAX__ 0XFFFFFFFFP-16UK # 0 "" #define __UACCUM_EPSILON__ 0x1P-16UK # 0 "" #define __LACCUM_FBIT__ 31 # 0 "" #define __LACCUM_IBIT__ 32 # 0 "" #define __LACCUM_MIN__ (-0X1P31LK-0X1P31LK) # 0 "" #define __LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK # 0 "" #define __LACCUM_EPSILON__ 0x1P-31LK # 0 "" #define __ULACCUM_FBIT__ 32 # 0 "" #define __ULACCUM_IBIT__ 32 # 0 "" #define __ULACCUM_MIN__ 0.0ULK # 0 "" #define __ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK # 0 "" #define __ULACCUM_EPSILON__ 0x1P-32ULK # 0 "" #define __LLACCUM_FBIT__ 63 # 0 "" #define __LLACCUM_IBIT__ 64 # 0 "" #define __LLACCUM_MIN__ (-0X1P63LLK-0X1P63LLK) # 0 "" #define __LLACCUM_MAX__ 0X7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-63LLK # 0 "" #define __LLACCUM_EPSILON__ 0x1P-63LLK # 0 "" #define __ULLACCUM_FBIT__ 64 # 0 "" #define __ULLACCUM_IBIT__ 64 # 0 "" #define __ULLACCUM_MIN__ 0.0ULLK # 0 "" #define __ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-64ULLK # 0 "" #define __ULLACCUM_EPSILON__ 0x1P-64ULLK # 0 "" #define __QQ_FBIT__ 7 # 0 "" #define __QQ_IBIT__ 0 # 0 "" #define __HQ_FBIT__ 15 # 0 "" #define __HQ_IBIT__ 0 # 0 "" #define __SQ_FBIT__ 31 # 0 "" #define __SQ_IBIT__ 0 # 0 "" #define __DQ_FBIT__ 63 # 0 "" #define __DQ_IBIT__ 0 # 0 "" #define __TQ_FBIT__ 127 # 0 "" #define __TQ_IBIT__ 0 # 0 "" #define __UQQ_FBIT__ 8 # 0 "" #define __UQQ_IBIT__ 0 # 0 "" #define __UHQ_FBIT__ 16 # 0 "" #define __UHQ_IBIT__ 0 # 0 "" #define __USQ_FBIT__ 32 # 0 "" #define __USQ_IBIT__ 0 # 0 "" #define __UDQ_FBIT__ 64 # 0 "" #define __UDQ_IBIT__ 0 # 0 "" #define __UTQ_FBIT__ 128 # 0 "" #define __UTQ_IBIT__ 0 # 0 "" #define __HA_FBIT__ 7 # 0 "" #define __HA_IBIT__ 8 # 0 "" #define __SA_FBIT__ 15 # 0 "" #define __SA_IBIT__ 16 # 0 "" #define __DA_FBIT__ 31 # 0 "" #define __DA_IBIT__ 32 # 0 "" #define __TA_FBIT__ 63 # 0 "" #define __TA_IBIT__ 64 # 0 "" #define __UHA_FBIT__ 8 # 0 "" #define __UHA_IBIT__ 8 # 0 "" #define __USA_FBIT__ 16 # 0 "" #define __USA_IBIT__ 16 # 0 "" #define __UDA_FBIT__ 32 # 0 "" #define __UDA_IBIT__ 32 # 0 "" #define __UTA_FBIT__ 64 # 0 "" #define __UTA_IBIT__ 64 # 0 "" #define __REGISTER_PREFIX__ $ # 0 "" #define __USER_LABEL_PREFIX__ # 0 "" #define __GNUC_STDC_INLINE__ 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 # 0 "" #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_INT_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_LONG_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_LLONG_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 # 0 "" #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 # 0 "" #define __HAVE_SPECULATION_SAFE_VALUE 1 # 0 "" #define __GCC_HAVE_DWARF2_CFI_ASM 1 # 0 "" #define __PRAGMA_REDEFINE_EXTNAME 1 # 0 "" #define __SIZEOF_INT128__ 16 # 0 "" #define __SIZEOF_WCHAR_T__ 4 # 0 "" #define __SIZEOF_WINT_T__ 4 # 0 "" #define __SIZEOF_PTRDIFF_T__ 8 # 0 "" #define __loongarch__ 1 # 0 "" #define _LOONGARCH_ARCH_LOONGARCH64 1 # 0 "" #define _LOONGARCH_ARCH "loongarch64" # 0 "" #define _LOONGARCH_TUNE_LOONGARCH64 1 # 0 "" #define _LOONGARCH_TUNE "loongarch64" # 0 "" #define __LOONGARCH_ARCH_LOONGARCH64 1 # 0 "" #define __loongarch_arch "loongarch64" # 0 "" #define __LOONGARCH_TUNE_LOONGARCH64 1 # 0 "" #define __loongarch_tune "loongarch64" # 0 "" #define __loongarch_grlen 64 # 0 "" #define __loongarch64 1 # 0 "" #define _ABILP64 3 # 0 "" #define _LOONGARCH_SIM _ABILP64 # 0 "" #define __loongarch_lp64 1 # 0 "" #define __loongarch_double_float 1 # 0 "" #define __loongarch_hard_float 1 # 0 "" #define __loongarch_frlen 64 # 0 "" #define __loongarch_simd 1 # 0 "" #define __loongarch_sx 1 # 0 "" #define __loongarch_asx 1 # 0 "" #define __loongarch_simd_width 256 # 0 "" #define __FLOAT128_TYPE__ 1 # 0 "" #define __builtin_fabsq __builtin_fabsf128 # 0 "" #define __builtin_copysignq __builtin_copysignf128 # 0 "" #define __builtin_nanq __builtin_nanf128 # 0 "" #define __builtin_nansq __builtin_nansf128 # 0 "" #define __builtin_infq __builtin_inff128 # 0 "" #define __builtin_huge_valq __builtin_huge_valf128 # 0 "" #define _LOONGARCH_SZINT 32 # 0 "" #define _LOONGARCH_SZLONG 64 # 0 "" #define _LOONGARCH_SZPTR 64 # 0 "" #define _LOONGARCH_FPSET 32 # 0 "" #define _LOONGARCH_SPFPSET 32 # 0 "" #define __gnu_linux__ 1 # 0 "" #define __linux 1 # 0 "" #define __linux__ 1 # 0 "" #define linux 1 # 0 "" #define __unix 1 # 0 "" #define __unix__ 1 # 0 "" #define unix 1 # 0 "" #define __ELF__ 1 # 0 "<命令行>" #define SPEC_CPU 1 # 0 "<命令行>" #define NDEBUG 1 # 0 "<命令行>" #define SPEC_CPU_LP64 1 # 0 "<命令行>" # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdc-predef.h" 1 3 4 # 19 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdc-predef.h" 3 4 #define _STDC_PREDEF_H 1 # 38 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdc-predef.h" 3 4 #define __STDC_IEC_559__ 1 #define __STDC_IEC_60559_BFP__ 201404L # 48 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdc-predef.h" 3 4 #define __STDC_IEC_559_COMPLEX__ 1 #define __STDC_IEC_60559_COMPLEX__ 201404L # 62 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdc-predef.h" 3 4 #define __STDC_ISO_10646__ 201706L # 0 "<命令行>" 2 # 1 "regrename.c" # 21 "regrename.c" #define REG_OK_STRICT # 1 "config.h" 1 #define TARGET_CPU_DEFAULT (TARGET_CPU_DEFAULT_athlon_sse) # 1 "auto-host.h" 1 # 16 "auto-host.h" #define GETGROUPS_T gid_t #define HAVE_ALLOCA 1 #define HAVE_ALLOCA_H 1 #define HAVE_STRINGIZE 1 # 61 "auto-host.h" #define STDC_HEADERS 1 # 74 "auto-host.h" #define HAVE_GAS_MAX_SKIP_P2ALIGN 1 #define HAVE_GAS_BALIGN_AND_P2ALIGN 1 #define HAVE_GAS_FILDS_FISTS 1 #define PREFIX_INCLUDE_DIR "NONE/include" #define HAVE___ARGZ_COUNT 1 #define HAVE___ARGZ_NEXT 1 #define HAVE___ARGZ_STRINGIFY 1 #define HAVE_ATOLL 1 #define HAVE_CLOCK 1 #define HAVE_DCGETTEXT 1 #define HAVE_DUP2 1 # 126 "auto-host.h" #define HAVE_GETCWD 1 #define HAVE_GETEGID 1 #define HAVE_GETEUID 1 #define HAVE_GETGID 1 #define HAVE_GETRLIMIT 1 #define HAVE_GETUID 1 #define HAVE_KILL 1 #define HAVE_MEMPCPY 1 #define HAVE_MUNMAP 1 #define HAVE_NL_LANGINFO 1 #define HAVE_PUTENV 1 #define HAVE_SETENV 1 #define HAVE_SETLOCALE 1 #define HAVE_SETRLIMIT 1 #define HAVE_STPCPY 1 #define HAVE_STRCASECMP 1 #define HAVE_STRCHR 1 #define HAVE_STRDUP 1 #define HAVE_STRSIGNAL 1 #define HAVE_STRTOUL 1 #define HAVE_SYSCONF 1 #define HAVE_TSEARCH 1 #define HAVE_ARGZ_H 1 #define HAVE_FCNTL_H 1 #define HAVE_LANGINFO_H 1 #define HAVE_LIMITS_H 1 #define HAVE_LOCALE_H 1 #define HAVE_MALLOC_H 1 #define HAVE_NL_TYPES_H 1 #define HAVE_STDDEF_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_SYS_FILE_H 1 # 254 "auto-host.h" #define HAVE_SYS_STAT_H 1 # 263 "auto-host.h" #define HAVE_TIME_H 1 # 309 "auto-host.h" #define HAVE_VOLATILE 1 #define HAVE_LONG_DOUBLE 1 # 323 "auto-host.h" #define HAVE_LONG_LONG 1 #define HAVE_UNISTD_H 1 # 338 "auto-host.h" #define SIZEOF_SHORT 2 #define SIZEOF_INT 4 #define SIZEOF_LONG_LONG 8 #define MAX_LONG_TYPE_SIZE 64 #define SIZEOF_LONG 8 # 367 "auto-host.h" #define _GNU_SOURCE 1 # 397 "auto-host.h" #define HAVE_INTTYPES_H 1 #define HAVE_PRINTF_PTR 1 # 412 "auto-host.h" #define HAVE_ICONV 1 #define ICONV_CONST #define HAVE_DECL_GETENV 1 #define HAVE_DECL_ATOL 1 #define HAVE_DECL_SBRK 1 #define HAVE_DECL_ABORT 1 #define HAVE_DECL_ATOF 1 #define HAVE_DECL_GETCWD 1 #define HAVE_DECL_GETWD 1 # 454 "auto-host.h" #define HAVE_DECL_STRSTR 1 #define HAVE_DECL_ERRNO 1 #define HAVE_DECL_MALLOC 1 #define HAVE_DECL_REALLOC 1 #define HAVE_DECL_CALLOC 1 #define HAVE_DECL_FREE 1 #define HAVE_DECL_BASENAME 1 #define HAVE_DECL_GETOPT 1 #define HAVE_DECL_CLOCK 1 #define HAVE_DECL_GETRLIMIT 1 #define HAVE_DECL_SETRLIMIT 1 # 496 "auto-host.h" #define HAVE_CLOCK_T 1 #define HAVE_ICONV 1 #define ICONV_CONST #define HAVE_LANGINFO_CODESET 1 #define HAVE_LC_MESSAGES 1 #define ENABLE_NLS 1 #define HAVE_GETTEXT 1 # 535 "auto-host.h" #define HAVE_GAS_SUBSECTION_ORDERING 1 #define HAVE_GAS_WEAK 1 #define HAVE_GAS_HIDDEN 1 #define HAVE_AS_LEB128 1 #define HAVE_GAS_SHF_MERGE 1 # 571 "auto-host.h" #define HAVE_AS_GOTOFF_IN_DATA 0 #define HAVE_AS_DWARF2_DEBUG_LINE 1 #define HAVE_AS_GDWARF2_DEBUG_FLAG 1 #define HAVE_AS_GSTABS_DEBUG_FLAG 1 #define HAVE_LD_EH_FRAME_HDR 1 # 3 "config.h" 2 struct rtx_def; typedef struct rtx_def *rtx; struct rtvec_def; typedef struct rtvec_def *rtvec; union tree_node; typedef union tree_node *tree; # 1 "ansidecl.h" 1 # 115 "ansidecl.h" #define _ANSIDECL_H 1 # 136 "ansidecl.h" #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #define ANSI_PROTOTYPES 1 #define PTR void * #define PTRCONST void *const #define LONG_DOUBLE long double #define PARAMS(ARGS) ARGS #define VPARAMS(ARGS) ARGS #define VA_START(VA_LIST,VAR) va_start(VA_LIST, VAR) #define VA_OPEN(AP,VAR) { va_list AP; va_start(AP, VAR); { struct Qdmy #define VA_CLOSE(AP) } va_end(AP); } #define VA_FIXEDARG(AP,T,N) struct Qdmy #undef const #undef volatile #undef signed # 225 "ansidecl.h" #define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) # 234 "ansidecl.h" #define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED #define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) #define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) #define ATTRIBUTE_PRINTF(m,n) __attribute__ ((__format__ (__printf__, m, n))) #define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2) #define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3) #define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4) #define ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF(4, 5) #define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6) # 14 "config.h" 2 # 1 "biarch64.h" 1 # 24 "biarch64.h" #define TARGET_64BIT_DEFAULT #define TARGET_BI_ARCH # 15 "config.h" 2 # 1 "i386.h" 1 # 40 "i386.h" #define HALF_PIC_P() 0 #define HALF_PIC_NUMBER_PTRS 0 #define HALF_PIC_NUMBER_REFS 0 #define HALF_PIC_ENCODE(DECL) #define HALF_PIC_DECLARE(NAME) #define HALF_PIC_INIT() error ("half-pic init called on systems that don't support it") #define HALF_PIC_ADDRESS_P(X) 0 #define HALF_PIC_PTR(X) (X) #define HALF_PIC_FINISH(STREAM) struct processor_costs { const int add; const int lea; const int shift_var; const int shift_const; const int mult_init; const int mult_bit; const int divide; int movsx; int movzx; const int large_insn; const int move_ratio; const int movzbl_load; const int int_load[3]; const int int_store[3]; const int fp_move; const int fp_load[3]; const int fp_store[3]; const int mmx_move; const int mmx_load[2]; const int mmx_store[2]; const int sse_move; const int sse_load[3]; const int sse_store[3]; const int mmxsse_to_integer; const int prefetch_block; const int simultaneous_prefetches; }; extern const struct processor_costs *ix86_cost; extern int target_flags; # 109 "i386.h" #define MASK_80387 0x00000001 #define MASK_RTD 0x00000002 #define MASK_ALIGN_DOUBLE 0x00000004 #define MASK_SVR3_SHLIB 0x00000008 #define MASK_IEEE_FP 0x00000010 #define MASK_FLOAT_RETURNS 0x00000020 #define MASK_NO_FANCY_MATH_387 0x00000040 #define MASK_OMIT_LEAF_FRAME_POINTER 0x080 #define MASK_STACK_PROBE 0x00000100 #define MASK_NO_ALIGN_STROPS 0x00000200 #define MASK_INLINE_ALL_STROPS 0x00000400 #define MASK_NO_PUSH_ARGS 0x00000800 #define MASK_ACCUMULATE_OUTGOING_ARGS 0x00001000 #define MASK_ACCUMULATE_OUTGOING_ARGS_SET 0x00002000 #define MASK_MMX 0x00004000 #define MASK_MMX_SET 0x00008000 #define MASK_SSE 0x00010000 #define MASK_SSE_SET 0x00020000 #define MASK_SSE2 0x00040000 #define MASK_SSE2_SET 0x00080000 #define MASK_3DNOW 0x00100000 #define MASK_3DNOW_SET 0x00200000 #define MASK_3DNOW_A 0x00400000 #define MASK_3DNOW_A_SET 0x00800000 #define MASK_128BIT_LONG_DOUBLE 0x01000000 #define MASK_64BIT 0x02000000 #define MASK_NO_RED_ZONE 0x04000000 #define TARGET_80387 (target_flags & MASK_80387) #define TARGET_RTD (target_flags & MASK_RTD) #define TARGET_ALIGN_DOUBLE (target_flags & MASK_ALIGN_DOUBLE) #define TARGET_PUSH_ARGS (!(target_flags & MASK_NO_PUSH_ARGS)) #define TARGET_ACCUMULATE_OUTGOING_ARGS (target_flags & MASK_ACCUMULATE_OUTGOING_ARGS) #define TARGET_SVR3_SHLIB (target_flags & MASK_SVR3_SHLIB) #define TARGET_IEEE_FP (target_flags & MASK_IEEE_FP) #define TARGET_FLOAT_RETURNS_IN_80387 (target_flags & MASK_FLOAT_RETURNS) #define TARGET_128BIT_LONG_DOUBLE (target_flags & MASK_128BIT_LONG_DOUBLE) #define TARGET_NO_FANCY_MATH_387 (target_flags & MASK_NO_FANCY_MATH_387) #define TARGET_OMIT_LEAF_FRAME_POINTER (target_flags & MASK_OMIT_LEAF_FRAME_POINTER) #define TARGET_DEBUG_ADDR (ix86_debug_addr_string != 0) #define TARGET_DEBUG_ARG (ix86_debug_arg_string != 0) #define TARGET_64BIT (target_flags & MASK_64BIT) # 202 "i386.h" #define TARGET_386 (ix86_cpu == PROCESSOR_I386) #define TARGET_486 (ix86_cpu == PROCESSOR_I486) #define TARGET_PENTIUM (ix86_cpu == PROCESSOR_PENTIUM) #define TARGET_PENTIUMPRO (ix86_cpu == PROCESSOR_PENTIUMPRO) #define TARGET_K6 (ix86_cpu == PROCESSOR_K6) #define TARGET_ATHLON (ix86_cpu == PROCESSOR_ATHLON) #define TARGET_PENTIUM4 (ix86_cpu == PROCESSOR_PENTIUM4) #define CPUMASK (1 << ix86_cpu) extern const int x86_use_leave, x86_push_memory, x86_zero_extend_with_and; extern const int x86_use_bit_test, x86_cmove, x86_deep_branch; extern const int x86_branch_hints, x86_unroll_strlen; extern const int x86_double_with_add, x86_partial_reg_stall, x86_movx; extern const int x86_use_loop, x86_use_fiop, x86_use_mov0; extern const int x86_use_cltd, x86_read_modify_write; extern const int x86_read_modify, x86_split_long_moves; extern const int x86_promote_QImode, x86_single_stringop; extern const int x86_himode_math, x86_qimode_math, x86_promote_qi_regs; extern const int x86_promote_hi_regs, x86_integer_DFmode_moves; extern const int x86_add_esp_4, x86_add_esp_8, x86_sub_esp_4, x86_sub_esp_8; extern const int x86_partial_reg_dependency, x86_memory_mismatch_stall; extern const int x86_accumulate_outgoing_args, x86_prologue_using_move; extern const int x86_epilogue_using_move, x86_decompose_lea; extern const int x86_arch_always_fancy_math_387; extern int x86_prefetch_sse; #define TARGET_USE_LEAVE (x86_use_leave & CPUMASK) #define TARGET_PUSH_MEMORY (x86_push_memory & CPUMASK) #define TARGET_ZERO_EXTEND_WITH_AND (x86_zero_extend_with_and & CPUMASK) #define TARGET_USE_BIT_TEST (x86_use_bit_test & CPUMASK) #define TARGET_UNROLL_STRLEN (x86_unroll_strlen & CPUMASK) #define TARGET_CMOVE ((x86_cmove & (1 << ix86_arch)) || TARGET_SSE) #define TARGET_DEEP_BRANCH_PREDICTION (x86_deep_branch & CPUMASK) #define TARGET_BRANCH_PREDICTION_HINTS (x86_branch_hints & CPUMASK) #define TARGET_DOUBLE_WITH_ADD (x86_double_with_add & CPUMASK) #define TARGET_USE_SAHF ((x86_use_sahf & CPUMASK) && !TARGET_64BIT) #define TARGET_MOVX (x86_movx & CPUMASK) #define TARGET_PARTIAL_REG_STALL (x86_partial_reg_stall & CPUMASK) #define TARGET_USE_LOOP (x86_use_loop & CPUMASK) #define TARGET_USE_FIOP (x86_use_fiop & CPUMASK) #define TARGET_USE_MOV0 (x86_use_mov0 & CPUMASK) #define TARGET_USE_CLTD (x86_use_cltd & CPUMASK) #define TARGET_SPLIT_LONG_MOVES (x86_split_long_moves & CPUMASK) #define TARGET_READ_MODIFY_WRITE (x86_read_modify_write & CPUMASK) #define TARGET_READ_MODIFY (x86_read_modify & CPUMASK) #define TARGET_PROMOTE_QImode (x86_promote_QImode & CPUMASK) #define TARGET_SINGLE_STRINGOP (x86_single_stringop & CPUMASK) #define TARGET_QIMODE_MATH (x86_qimode_math & CPUMASK) #define TARGET_HIMODE_MATH (x86_himode_math & CPUMASK) #define TARGET_PROMOTE_QI_REGS (x86_promote_qi_regs & CPUMASK) #define TARGET_PROMOTE_HI_REGS (x86_promote_hi_regs & CPUMASK) #define TARGET_ADD_ESP_4 (x86_add_esp_4 & CPUMASK) #define TARGET_ADD_ESP_8 (x86_add_esp_8 & CPUMASK) #define TARGET_SUB_ESP_4 (x86_sub_esp_4 & CPUMASK) #define TARGET_SUB_ESP_8 (x86_sub_esp_8 & CPUMASK) #define TARGET_INTEGER_DFMODE_MOVES (x86_integer_DFmode_moves & CPUMASK) #define TARGET_PARTIAL_REG_DEPENDENCY (x86_partial_reg_dependency & CPUMASK) #define TARGET_MEMORY_MISMATCH_STALL (x86_memory_mismatch_stall & CPUMASK) #define TARGET_PROLOGUE_USING_MOVE (x86_prologue_using_move & CPUMASK) #define TARGET_EPILOGUE_USING_MOVE (x86_epilogue_using_move & CPUMASK) #define TARGET_DECOMPOSE_LEA (x86_decompose_lea & CPUMASK) #define TARGET_PREFETCH_SSE (x86_prefetch_sse) #define TARGET_STACK_PROBE (target_flags & MASK_STACK_PROBE) #define TARGET_ALIGN_STRINGOPS (!(target_flags & MASK_NO_ALIGN_STROPS)) #define TARGET_INLINE_ALL_STRINGOPS (target_flags & MASK_INLINE_ALL_STROPS) #define ASSEMBLER_DIALECT (ix86_asm_dialect) #define TARGET_SSE ((target_flags & (MASK_SSE | MASK_SSE2)) != 0) #define TARGET_SSE2 ((target_flags & MASK_SSE2) != 0) #define TARGET_SSE_MATH ((ix86_fpmath & FPMATH_SSE) != 0) #define TARGET_MIX_SSE_I387 ((ix86_fpmath & FPMATH_SSE) && (ix86_fpmath & FPMATH_387)) #define TARGET_MMX ((target_flags & MASK_MMX) != 0) #define TARGET_3DNOW ((target_flags & MASK_3DNOW) != 0) #define TARGET_3DNOW_A ((target_flags & MASK_3DNOW_A) != 0) #define TARGET_RED_ZONE (!(target_flags & MASK_NO_RED_ZONE)) #define TARGET_SWITCHES { { "80387", MASK_80387, N_("Use hardware fp") }, { "no-80387", -MASK_80387, N_("Do not use hardware fp") }, { "hard-float", MASK_80387, N_("Use hardware fp") }, { "soft-float", -MASK_80387, N_("Do not use hardware fp") }, { "no-soft-float", MASK_80387, N_("Use hardware fp") }, { "386", 0, "" }, { "486", 0, "" }, { "pentium", 0, "" }, { "pentiumpro", 0, "" }, { "intel-syntax", 0, "" }, { "no-intel-syntax", 0, "" }, { "rtd", MASK_RTD, N_("Alternate calling convention") }, { "no-rtd", -MASK_RTD, N_("Use normal calling convention") }, { "align-double", MASK_ALIGN_DOUBLE, N_("Align some doubles on dword boundary") }, { "no-align-double", -MASK_ALIGN_DOUBLE, N_("Align doubles on word boundary") }, { "svr3-shlib", MASK_SVR3_SHLIB, N_("Uninitialized locals in .bss") }, { "no-svr3-shlib", -MASK_SVR3_SHLIB, N_("Uninitialized locals in .data") }, { "ieee-fp", MASK_IEEE_FP, N_("Use IEEE math for fp comparisons") }, { "no-ieee-fp", -MASK_IEEE_FP, N_("Do not use IEEE math for fp comparisons") }, { "fp-ret-in-387", MASK_FLOAT_RETURNS, N_("Return values of functions in FPU registers") }, { "no-fp-ret-in-387", -MASK_FLOAT_RETURNS , N_("Do not return values of functions in FPU registers")}, { "no-fancy-math-387", MASK_NO_FANCY_MATH_387, N_("Do not generate sin, cos, sqrt for FPU") }, { "fancy-math-387", -MASK_NO_FANCY_MATH_387, N_("Generate sin, cos, sqrt for FPU")}, { "omit-leaf-frame-pointer", MASK_OMIT_LEAF_FRAME_POINTER, N_("Omit the frame pointer in leaf functions") }, { "no-omit-leaf-frame-pointer",-MASK_OMIT_LEAF_FRAME_POINTER, "" }, { "stack-arg-probe", MASK_STACK_PROBE, N_("Enable stack probing") }, { "no-stack-arg-probe", -MASK_STACK_PROBE, "" }, { "windows", 0, 0 }, { "dll", 0, 0 }, { "align-stringops", -MASK_NO_ALIGN_STROPS, N_("Align destination of the string operations") }, { "no-align-stringops", MASK_NO_ALIGN_STROPS, N_("Do not align destination of the string operations") }, { "inline-all-stringops", MASK_INLINE_ALL_STROPS, N_("Inline all known string operations") }, { "no-inline-all-stringops", -MASK_INLINE_ALL_STROPS, N_("Do not inline all known string operations") }, { "push-args", -MASK_NO_PUSH_ARGS, N_("Use push instructions to save outgoing arguments") }, { "no-push-args", MASK_NO_PUSH_ARGS, N_("Do not use push instructions to save outgoing arguments") }, { "accumulate-outgoing-args", (MASK_ACCUMULATE_OUTGOING_ARGS | MASK_ACCUMULATE_OUTGOING_ARGS_SET), N_("Use push instructions to save outgoing arguments") }, { "no-accumulate-outgoing-args",MASK_ACCUMULATE_OUTGOING_ARGS_SET, N_("Do not use push instructions to save outgoing arguments") }, { "mmx", MASK_MMX | MASK_MMX_SET, N_("Support MMX built-in functions") }, { "no-mmx", -MASK_MMX, N_("Do not support MMX built-in functions") }, { "no-mmx", MASK_MMX_SET, "" }, { "3dnow", MASK_3DNOW | MASK_3DNOW_SET, N_("Support 3DNow! built-in functions") }, { "no-3dnow", -MASK_3DNOW, "" }, { "no-3dnow", MASK_3DNOW_SET, N_("Do not support 3DNow! built-in functions") }, { "sse", MASK_SSE | MASK_SSE_SET, N_("Support MMX and SSE built-in functions and code generation") }, { "no-sse", -MASK_SSE, "" }, { "no-sse", MASK_SSE_SET, N_("Do not support MMX and SSE built-in functions and code generation") }, { "sse2", MASK_SSE2 | MASK_SSE2_SET, N_("Support MMX, SSE and SSE2 built-in functions and code generation") }, { "no-sse2", -MASK_SSE2, "" }, { "no-sse2", MASK_SSE2_SET, N_("Do not support MMX, SSE and SSE2 built-in functions and code generation") }, { "128bit-long-double", MASK_128BIT_LONG_DOUBLE, N_("sizeof(long double) is 16") }, { "96bit-long-double", -MASK_128BIT_LONG_DOUBLE, N_("sizeof(long double) is 12") }, { "64", MASK_64BIT, N_("Generate 64bit x86-64 code") }, { "32", -MASK_64BIT, N_("Generate 32bit i386 code") }, { "red-zone", -MASK_NO_RED_ZONE, N_("Use red-zone in the x86-64 code") }, { "no-red-zone", MASK_NO_RED_ZONE, N_("Do not use red-zone in the x86-64 code") }, SUBTARGET_SWITCHES { "", TARGET_DEFAULT, 0 }} # 387 "i386.h" #define TARGET_DEFAULT (MASK_64BIT | TARGET_SUBTARGET_DEFAULT) enum processor_type { PROCESSOR_I386, PROCESSOR_I486, PROCESSOR_PENTIUM, PROCESSOR_PENTIUMPRO, PROCESSOR_K6, PROCESSOR_ATHLON, PROCESSOR_PENTIUM4, PROCESSOR_max }; enum fpmath_unit { FPMATH_387 = 1, FPMATH_SSE = 2 }; extern enum processor_type ix86_cpu; extern enum fpmath_unit ix86_fpmath; extern int ix86_arch; # 426 "i386.h" #define TARGET_OPTIONS { { "cpu=", &ix86_cpu_string, N_("Schedule code for given CPU")}, { "fpmath=", &ix86_fpmath_string, N_("Generate floating point mathematics using given instruction set")}, { "arch=", &ix86_arch_string, N_("Generate code for given CPU")}, { "regparm=", &ix86_regparm_string, N_("Number of registers used to pass integer arguments") }, { "align-loops=", &ix86_align_loops_string, N_("Loop code aligned to this power of 2") }, { "align-jumps=", &ix86_align_jumps_string, N_("Jump targets are aligned to this power of 2") }, { "align-functions=", &ix86_align_funcs_string, N_("Function starts are aligned to this power of 2") }, { "preferred-stack-boundary=", &ix86_preferred_stack_boundary_string, N_("Attempt to keep stack aligned to this power of 2") }, { "branch-cost=", &ix86_branch_cost_string, N_("Branches are this expensive (1-5, arbitrary units)") }, { "cmodel=", &ix86_cmodel_string, N_("Use given x86-64 code model") }, { "debug-arg", &ix86_debug_arg_string, "" }, { "debug-addr", &ix86_debug_addr_string, "" }, { "asm=", &ix86_asm_string, N_("Use given assembler dialect") }, SUBTARGET_OPTIONS } # 466 "i386.h" #define OVERRIDE_OPTIONS override_options () #define SUBTARGET_SWITCHES #define SUBTARGET_OPTIONS #define OPTIMIZATION_OPTIONS(LEVEL,SIZE) optimization_options ((LEVEL), (SIZE)) #define CC1_CPU_SPEC "%{!mcpu*: %{m386:-mcpu=i386 %n`-m386' is deprecated. Use `-march=i386' or `-mcpu=i386' instead.\n} %{m486:-mcpu=i486 %n`-m486' is deprecated. Use `-march=i486' or `-mcpu=i486' instead.\n} %{mpentium:-mcpu=pentium %n`-mpentium' is deprecated. Use `-march=pentium' or `-mcpu=pentium' instead.\n} %{mpentiumpro:-mcpu=pentiumpro %n`-mpentiumpro' is deprecated. Use `-march=pentiumpro' or `-mcpu=pentiumpro' instead.\n}} %{mintel-syntax:-masm=intel %n`-mintel-syntax' is deprecated. Use `-masm=intel' instead.\n} %{mno-intel-syntax:-masm=att %n`-mno-intel-syntax' is deprecated. Use `-masm=att' instead.\n}" # 495 "i386.h" #define TARGET_CPU_DEFAULT_i386 0 #define TARGET_CPU_DEFAULT_i486 1 #define TARGET_CPU_DEFAULT_pentium 2 #define TARGET_CPU_DEFAULT_pentium_mmx 3 #define TARGET_CPU_DEFAULT_pentiumpro 4 #define TARGET_CPU_DEFAULT_pentium2 5 #define TARGET_CPU_DEFAULT_pentium3 6 #define TARGET_CPU_DEFAULT_pentium4 7 #define TARGET_CPU_DEFAULT_k6 8 #define TARGET_CPU_DEFAULT_k6_2 9 #define TARGET_CPU_DEFAULT_k6_3 10 #define TARGET_CPU_DEFAULT_athlon 11 #define TARGET_CPU_DEFAULT_athlon_sse 12 #define TARGET_CPU_DEFAULT_NAMES {"i386", "i486", "pentium", "pentium-mmx", "pentiumpro", "pentium2", "pentium3", "pentium4", "k6", "k6-2", "k6-3", "athlon", "athlon-4"} # 550 "i386.h" #define CPP_CPU_DEFAULT_SPEC "-D__tune_athlon__ -D__tune_athlon_sse__" #define NO_BUILTIN_SIZE_TYPE #define NO_BUILTIN_PTRDIFF_TYPE #define CPP_CPU32_SIZE_TYPE_SPEC " -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int" #define CPP_CPU64_SIZE_TYPE_SPEC " -D__SIZE_TYPE__=unsigned\\ long\\ int -D__PTRDIFF_TYPE__=long\\ int" #define CPP_CPU32_SPEC "-Acpu=i386 -Amachine=i386 %{!ansi:%{!std=c*:%{!std=i*:-Di386}}} -D__i386 -D__i386__ %(cpp_cpu32sizet)" #define CPP_CPU64_SPEC "-Acpu=x86_64 -Amachine=x86_64 -D__x86_64 -D__x86_64__ %(cpp_cpu64sizet)" #define CPP_CPUCOMMON_SPEC "%{march=i386:%{!mcpu*:-D__tune_i386__ }}%{march=i486:-D__i486 -D__i486__ %{!mcpu*:-D__tune_i486__ }}%{march=pentium|march=i586:-D__i586 -D__i586__ -D__pentium -D__pentium__ %{!mcpu*:-D__tune_i586__ -D__tune_pentium__ }}%{march=pentium-mmx:-D__i586 -D__i586__ -D__pentium -D__pentium__ -D__pentium__mmx__ %{!mcpu*:-D__tune_i586__ -D__tune_pentium__ -D__tune_pentium_mmx__}}%{march=pentiumpro|march=i686:-D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__ %{!mcpu*:-D__tune_i686__ -D__tune_pentiumpro__ }}%{march=k6:-D__k6 -D__k6__ %{!mcpu*:-D__tune_k6__ }}%{march=k6-2:-D__k6 -D__k6__ -D__k6_2__ %{!mcpu*:-D__tune_k6__ -D__tune_k6_2__ }}%{march=k6-3:-D__k6 -D__k6__ -D__k6_3__ %{!mcpu*:-D__tune_k6__ -D__tune_k6_3__ }}%{march=athlon|march=athlon-tbird:-D__athlon -D__athlon__ %{!mcpu*:-D__tune_athlon__ }}%{march=athlon-4|march=athlon-xp|march=athlon-mp:-D__athlon -D__athlon__ -D__athlon_sse__ %{!mcpu*:-D__tune_athlon__ -D__tune_athlon_sse__ }}%{march=pentium4:-D__pentium4 -D__pentium4__ %{!mcpu*:-D__tune_pentium4__ }}%{m386|mcpu=i386:-D__tune_i386__ }%{m486|mcpu=i486:-D__tune_i486__ }%{mpentium|mcpu=pentium|mcpu=i586|mcpu=pentium-mmx:-D__tune_i586__ -D__tune_pentium__ }%{mpentiumpro|mcpu=pentiumpro|mcpu=i686|cpu=pentium2|cpu=pentium3:-D__tune_i686__ -D__tune_pentiumpro__ }%{mcpu=k6|mcpu=k6-2|mcpu=k6-3:-D__tune_k6__ }%{mcpu=athlon|mcpu=athlon-tbird|mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:-D__tune_athlon__ }%{mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:-D__tune_athlon_sse__ }%{mcpu=pentium4:-D__tune_pentium4__ }%{march=athlon-xp|march=athlon-mp|march=pentium3|march=pentium4:-D__SSE__ }%{march=pentium-mmx|march=k6|march=k6-2|march=k6-3|march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp|march=athlon-mp|march=pentium2|march=pentium3|march=pentium4: -D__MMX__ }%{march=k6-2|march=k6-3|march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp|march=athlon-mp: -D__3dNOW__ }%{march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp|march=athlon-mp: -D__3dNOW_A__ }%{march=pentium4: -D__SSE2__ }%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}" # 628 "i386.h" #define CPP_CPU_SPEC "%{m32:%(cpp_cpu32)}%{!m32:%(cpp_cpu64)} %(cpp_cpucommon)" # 642 "i386.h" #define CC1_SPEC "%(cc1_cpu) " # 656 "i386.h" #define SUBTARGET_EXTRA_SPECS #define EXTRA_SPECS { "cpp_cpu_default", CPP_CPU_DEFAULT_SPEC }, { "cpp_cpu", CPP_CPU_SPEC }, { "cpp_cpu32", CPP_CPU32_SPEC }, { "cpp_cpu64", CPP_CPU64_SPEC }, { "cpp_cpu32sizet", CPP_CPU32_SIZE_TYPE_SPEC }, { "cpp_cpu64sizet", CPP_CPU64_SIZE_TYPE_SPEC }, { "cpp_cpucommon", CPP_CPUCOMMON_SPEC }, { "cc1_cpu", CC1_CPU_SPEC }, SUBTARGET_EXTRA_SPECS # 678 "i386.h" #define LONG_DOUBLE_TYPE_SIZE (TARGET_128BIT_LONG_DOUBLE ? 128 : 96) #define MAX_LONG_DOUBLE_TYPE_SIZE 128 #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 96 #define INTEL_EXTENDED_IEEE_FORMAT 1 #define SHORT_TYPE_SIZE 16 #define INT_TYPE_SIZE 32 #define FLOAT_TYPE_SIZE 32 #define LONG_TYPE_SIZE BITS_PER_WORD #define MAX_WCHAR_TYPE_SIZE 32 #define DOUBLE_TYPE_SIZE 64 #define LONG_LONG_TYPE_SIZE 64 #define MAX_BITS_PER_WORD 64 #define MAX_LONG_TYPE_SIZE 64 # 714 "i386.h" #define BITS_BIG_ENDIAN 0 #define BYTES_BIG_ENDIAN 0 #define WORDS_BIG_ENDIAN 0 #define BITS_PER_UNIT 8 #define BITS_PER_WORD (TARGET_64BIT ? 64 : 32) #define UNITS_PER_WORD (TARGET_64BIT ? 8 : 4) #define MIN_UNITS_PER_WORD 4 #define POINTER_SIZE BITS_PER_WORD #define PARM_BOUNDARY BITS_PER_WORD #define STACK_BOUNDARY BITS_PER_WORD #define PREFERRED_STACK_BOUNDARY ix86_preferred_stack_boundary #define FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN (ix86_preferred_stack_boundary > STACK_BOUNDARY && !TARGET_64BIT) #define FUNCTION_BOUNDARY 16 #define EMPTY_FIELD_BOUNDARY BITS_PER_WORD # 774 "i386.h" #define BIGGEST_ALIGNMENT 128 #define ALIGN_MODE_128(MODE) ((MODE) == XFmode || (MODE) == TFmode || ((MODE) == TImode) || (MODE) == V4SFmode || (MODE) == V4SImode) # 791 "i386.h" #define ADJUST_FIELD_ALIGN(FIELD,COMPUTED) x86_field_alignment (FIELD, COMPUTED) # 807 "i386.h" #define CONSTANT_ALIGNMENT(EXP,ALIGN) ix86_constant_alignment ((EXP), (ALIGN)) # 821 "i386.h" #define DATA_ALIGNMENT(TYPE,ALIGN) ix86_data_alignment ((TYPE), (ALIGN)) # 833 "i386.h" #define LOCAL_ALIGNMENT(TYPE,ALIGN) ix86_local_alignment ((TYPE), (ALIGN)) #define FUNCTION_ARG_BOUNDARY(MODE,TYPE) ix86_function_arg_boundary ((MODE), (TYPE)) #define STRICT_ALIGNMENT 0 #define PCC_BITFIELD_TYPE_MATTERS 1 #define STACK_REGS #define IS_STACK_MODE(MODE) ((MODE) == DFmode || (MODE) == SFmode || (MODE) == XFmode || (MODE) == TFmode) # 877 "i386.h" #define FIRST_PSEUDO_REGISTER 53 #define DWARF_FRAME_REGISTERS 17 # 892 "i386.h" #define FIXED_REGISTERS { 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} # 918 "i386.h" #define CALL_USED_REGISTERS { 3, 3, 3, 0, 2, 2, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3} # 941 "i386.h" #define REG_ALLOC_ORDER { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 } # 951 "i386.h" #define ORDER_REGS_FOR_LOCAL_ALLOC x86_order_regs_for_local_alloc () #define CONDITIONAL_REGISTER_USAGE do { int i; for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) { fixed_regs[i] = (fixed_regs[i] & (TARGET_64BIT ? 2 : 1)) != 0; call_used_regs[i] = (call_used_regs[i] & (TARGET_64BIT ? 2 : 1)) != 0; } if (PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM) { fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1; call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; } if (! TARGET_MMX) { int i; for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) if (TEST_HARD_REG_BIT (reg_class_contents[(int)MMX_REGS], i)) fixed_regs[i] = call_used_regs[i] = 1; } if (! TARGET_SSE) { int i; for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) if (TEST_HARD_REG_BIT (reg_class_contents[(int)SSE_REGS], i)) fixed_regs[i] = call_used_regs[i] = 1; } if (! TARGET_80387 && ! TARGET_FLOAT_RETURNS_IN_80387) { int i; HARD_REG_SET x; COPY_HARD_REG_SET (x, reg_class_contents[(int)FLOAT_REGS]); for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) if (TEST_HARD_REG_BIT (x, i)) fixed_regs[i] = call_used_regs[i] = 1; } } while (0) # 1004 "i386.h" #define HARD_REGNO_NREGS(REGNO,MODE) (FP_REGNO_P (REGNO) || SSE_REGNO_P (REGNO) || MMX_REGNO_P (REGNO) ? (COMPLEX_MODE_P (MODE) ? 2 : 1) : ((MODE) == TFmode ? (TARGET_64BIT ? 2 : 3) : (MODE) == TCmode ? (TARGET_64BIT ? 4 : 6) : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))) # 1013 "i386.h" #define VALID_SSE_REG_MODE(MODE) ((MODE) == TImode || (MODE) == V4SFmode || (MODE) == V4SImode || (MODE) == SFmode || (TARGET_SSE2 && ((MODE) == DFmode || VALID_MMX_REG_MODE (MODE)))) #define VALID_MMX_REG_MODE_3DNOW(MODE) ((MODE) == V2SFmode || (MODE) == SFmode) #define VALID_MMX_REG_MODE(MODE) ((MODE) == DImode || (MODE) == V8QImode || (MODE) == V4HImode || (MODE) == V2SImode || (MODE) == SImode) #define VECTOR_MODE_SUPPORTED_P(MODE) (VALID_SSE_REG_MODE (MODE) && TARGET_SSE ? 1 : VALID_MMX_REG_MODE (MODE) && TARGET_MMX ? 1 : VALID_MMX_REG_MODE_3DNOW (MODE) && TARGET_3DNOW ? 1 : 0) #define VALID_FP_MODE_P(MODE) ((MODE) == SFmode || (MODE) == DFmode || (MODE) == TFmode || (!TARGET_64BIT && (MODE) == XFmode) || (MODE) == SCmode || (MODE) == DCmode || (MODE) == TCmode || (!TARGET_64BIT && (MODE) == XCmode)) #define VALID_INT_MODE_P(MODE) ((MODE) == QImode || (MODE) == HImode || (MODE) == SImode || (MODE) == DImode || (MODE) == CQImode || (MODE) == CHImode || (MODE) == CSImode || (MODE) == CDImode || (TARGET_64BIT && ((MODE) == TImode || (MODE) == CTImode))) # 1045 "i386.h" #define HARD_REGNO_MODE_OK(REGNO,MODE) ix86_hard_regno_mode_ok ((REGNO), (MODE)) #define MODES_TIEABLE_P(MODE1,MODE2) ((MODE1) == (MODE2) || (((MODE1) == HImode || (MODE1) == SImode || ((MODE1) == QImode && (TARGET_64BIT || !TARGET_PARTIAL_REG_STALL)) || ((MODE1) == DImode && TARGET_64BIT)) && ((MODE2) == HImode || (MODE2) == SImode || ((MODE1) == QImode && (TARGET_64BIT || !TARGET_PARTIAL_REG_STALL)) || ((MODE2) == DImode && TARGET_64BIT)))) # 1070 "i386.h" #define HARD_REGNO_CALLER_SAVE_MODE(REGNO,NREGS,MODE) (CC_REGNO_P (REGNO) ? VOIDmode : (MODE) == VOIDmode && (NREGS) != 1 ? VOIDmode : (MODE) == VOIDmode ? choose_hard_reg_mode ((REGNO), (NREGS)) : (MODE) == HImode && !TARGET_PARTIAL_REG_STALL ? SImode : (MODE) == QImode && (REGNO) >= 4 && !TARGET_64BIT ? SImode : (MODE)) # 1085 "i386.h" #define STACK_POINTER_REGNUM 7 #define HARD_FRAME_POINTER_REGNUM 6 #define FRAME_POINTER_REGNUM 20 #define FIRST_FLOAT_REG 8 #define FIRST_STACK_REG FIRST_FLOAT_REG #define LAST_STACK_REG (FIRST_FLOAT_REG + 7) #define FLAGS_REG 17 #define FPSR_REG 18 #define DIRFLAG_REG 19 #define FIRST_SSE_REG (FRAME_POINTER_REGNUM + 1) #define LAST_SSE_REG (FIRST_SSE_REG + 7) #define FIRST_MMX_REG (LAST_SSE_REG + 1) #define LAST_MMX_REG (FIRST_MMX_REG + 7) #define FIRST_REX_INT_REG (LAST_MMX_REG + 1) #define LAST_REX_INT_REG (FIRST_REX_INT_REG + 7) #define FIRST_REX_SSE_REG (LAST_REX_INT_REG + 1) #define LAST_REX_SSE_REG (FIRST_REX_SSE_REG + 7) #define FRAME_POINTER_REQUIRED ix86_frame_pointer_required () #define SUBTARGET_FRAME_POINTER_REQUIRED 0 #define SETUP_FRAME_ADDRESSES() ix86_setup_frame_addresses () #define ARG_POINTER_REGNUM 16 #define STATIC_CHAIN_REGNUM (TARGET_64BIT ? FIRST_REX_INT_REG + 10 - 8 : 2) #define PIC_OFFSET_TABLE_REGNUM (TARGET_64BIT || !flag_pic ? INVALID_REGNUM : 3) #define STRUCT_VALUE_INCOMING 0 #define STRUCT_VALUE 0 # 1172 "i386.h" #define RETURN_IN_MEMORY(TYPE) ix86_return_in_memory (TYPE) # 1202 "i386.h" enum reg_class { NO_REGS, AREG, DREG, CREG, BREG, SIREG, DIREG, AD_REGS, Q_REGS, NON_Q_REGS, INDEX_REGS, LEGACY_REGS, GENERAL_REGS, FP_TOP_REG, FP_SECOND_REG, FLOAT_REGS, SSE_REGS, MMX_REGS, FP_TOP_SSE_REGS, FP_SECOND_SSE_REGS, FLOAT_SSE_REGS, FLOAT_INT_REGS, INT_SSE_REGS, FLOAT_INT_SSE_REGS, ALL_REGS, LIM_REG_CLASSES }; #define N_REG_CLASSES ((int) LIM_REG_CLASSES) #define INTEGER_CLASS_P(CLASS) reg_class_subset_p ((CLASS), GENERAL_REGS) #define FLOAT_CLASS_P(CLASS) reg_class_subset_p ((CLASS), FLOAT_REGS) #define SSE_CLASS_P(CLASS) reg_class_subset_p ((CLASS), SSE_REGS) #define MMX_CLASS_P(CLASS) reg_class_subset_p ((CLASS), MMX_REGS) #define MAYBE_INTEGER_CLASS_P(CLASS) reg_classes_intersect_p ((CLASS), GENERAL_REGS) #define MAYBE_FLOAT_CLASS_P(CLASS) reg_classes_intersect_p ((CLASS), FLOAT_REGS) #define MAYBE_SSE_CLASS_P(CLASS) reg_classes_intersect_p (SSE_REGS, (CLASS)) #define MAYBE_MMX_CLASS_P(CLASS) reg_classes_intersect_p (MMX_REGS, (CLASS)) #define Q_CLASS_P(CLASS) reg_class_subset_p ((CLASS), Q_REGS) #define REG_CLASS_NAMES { "NO_REGS", "AREG", "DREG", "CREG", "BREG", "SIREG", "DIREG", "AD_REGS", "Q_REGS", "NON_Q_REGS", "INDEX_REGS", "LEGACY_REGS", "GENERAL_REGS", "FP_TOP_REG", "FP_SECOND_REG", "FLOAT_REGS", "SSE_REGS", "MMX_REGS", "FP_TOP_SSE_REGS", "FP_SECOND_SSE_REGS", "FLOAT_SSE_REGS", "FLOAT_INT_REGS", "INT_SSE_REGS", "FLOAT_INT_SSE_REGS", "ALL_REGS" } # 1274 "i386.h" #define REG_CLASS_CONTENTS { { 0x00, 0x0 }, { 0x01, 0x0 }, { 0x02, 0x0 }, { 0x04, 0x0 }, { 0x08, 0x0 }, { 0x10, 0x0 }, { 0x20, 0x0 }, { 0x03, 0x0 }, { 0x0f, 0x0 }, { 0x1100f0, 0x1fe0 }, { 0x7f, 0x1fe0 }, { 0x1100ff, 0x0 }, { 0x1100ff, 0x1fe0 }, { 0x100, 0x0 }, { 0x0200, 0x0 }, { 0xff00, 0x0 }, { 0x1fe00000,0x1fe000 }, { 0xe0000000, 0x1f }, { 0x1fe00100,0x1fe000 }, { 0x1fe00200,0x1fe000 }, { 0x1fe0ff00,0x1fe000 }, { 0x1ffff, 0x1fe0 }, { 0x1fe100ff,0x1fffe0 }, { 0x1fe1ffff,0x1fffe0 }, { 0xffffffff,0x1fffff } } # 1303 "i386.h" #define REGNO_REG_CLASS(REGNO) (regclass_map[REGNO]) #define SMALL_REGISTER_CLASSES 1 #define QI_REG_P(X) (REG_P (X) && REGNO (X) < 4) #define GENERAL_REGNO_P(N) ((N) < 8 || REX_INT_REGNO_P (N)) #define GENERAL_REG_P(X) (REG_P (X) && GENERAL_REGNO_P (REGNO (X))) #define ANY_QI_REG_P(X) (TARGET_64BIT ? GENERAL_REG_P(X) : QI_REG_P (X)) #define NON_QI_REG_P(X) (REG_P (X) && REGNO (X) >= 4 && REGNO (X) < FIRST_PSEUDO_REGISTER) #define REX_INT_REGNO_P(N) ((N) >= FIRST_REX_INT_REG && (N) <= LAST_REX_INT_REG) #define REX_INT_REG_P(X) (REG_P (X) && REX_INT_REGNO_P (REGNO (X))) #define FP_REG_P(X) (REG_P (X) && FP_REGNO_P (REGNO (X))) #define FP_REGNO_P(N) ((N) >= FIRST_STACK_REG && (N) <= LAST_STACK_REG) #define ANY_FP_REG_P(X) (REG_P (X) && ANY_FP_REGNO_P (REGNO (X))) #define ANY_FP_REGNO_P(N) (FP_REGNO_P (N) || SSE_REGNO_P (N)) #define SSE_REGNO_P(N) (((N) >= FIRST_SSE_REG && (N) <= LAST_SSE_REG) || ((N) >= FIRST_REX_SSE_REG && (N) <= LAST_REX_SSE_REG)) #define SSE_REGNO(N) ((N) < 8 ? FIRST_SSE_REG + (N) : FIRST_REX_SSE_REG + (N) - 8) #define SSE_REG_P(N) (REG_P (N) && SSE_REGNO_P (REGNO (N))) #define SSE_FLOAT_MODE_P(MODE) ((TARGET_SSE && (MODE) == SFmode) || (TARGET_SSE2 && (MODE) == DFmode)) #define MMX_REGNO_P(N) ((N) >= FIRST_MMX_REG && (N) <= LAST_MMX_REG) #define MMX_REG_P(XOP) (REG_P (XOP) && MMX_REGNO_P (REGNO (XOP))) #define STACK_REG_P(XOP) (REG_P (XOP) && REGNO (XOP) >= FIRST_STACK_REG && REGNO (XOP) <= LAST_STACK_REG) #define NON_STACK_REG_P(XOP) (REG_P (XOP) && ! STACK_REG_P (XOP)) #define STACK_TOP_P(XOP) (REG_P (XOP) && REGNO (XOP) == FIRST_STACK_REG) #define CC_REG_P(X) (REG_P (X) && CC_REGNO_P (REGNO (X))) #define CC_REGNO_P(X) ((X) == FLAGS_REG || (X) == FPSR_REG) #define CONVERT_HARD_REGISTER_TO_SSA_P(REG_NO) ((REG_NO) == FLAGS_REG || (REG_NO) == ARG_POINTER_REGNUM) #define INDEX_REG_CLASS INDEX_REGS #define BASE_REG_CLASS GENERAL_REGS #define REG_CLASS_FROM_LETTER(C) ((C) == 'r' ? GENERAL_REGS : (C) == 'R' ? LEGACY_REGS : (C) == 'q' ? TARGET_64BIT ? GENERAL_REGS : Q_REGS : (C) == 'Q' ? Q_REGS : (C) == 'f' ? (TARGET_80387 || TARGET_FLOAT_RETURNS_IN_80387 ? FLOAT_REGS : NO_REGS) : (C) == 't' ? (TARGET_80387 || TARGET_FLOAT_RETURNS_IN_80387 ? FP_TOP_REG : NO_REGS) : (C) == 'u' ? (TARGET_80387 || TARGET_FLOAT_RETURNS_IN_80387 ? FP_SECOND_REG : NO_REGS) : (C) == 'a' ? AREG : (C) == 'b' ? BREG : (C) == 'c' ? CREG : (C) == 'd' ? DREG : (C) == 'x' ? TARGET_SSE ? SSE_REGS : NO_REGS : (C) == 'Y' ? TARGET_SSE2? SSE_REGS : NO_REGS : (C) == 'y' ? TARGET_MMX ? MMX_REGS : NO_REGS : (C) == 'A' ? AD_REGS : (C) == 'D' ? DIREG : (C) == 'S' ? SIREG : NO_REGS) # 1410 "i386.h" #define CONST_OK_FOR_LETTER_P(VALUE,C) ((C) == 'I' ? (VALUE) >= 0 && (VALUE) <= 31 : (C) == 'J' ? (VALUE) >= 0 && (VALUE) <= 63 : (C) == 'K' ? (VALUE) >= -128 && (VALUE) <= 127 : (C) == 'L' ? (VALUE) == 0xff || (VALUE) == 0xffff : (C) == 'M' ? (VALUE) >= 0 && (VALUE) <= 3 : (C) == 'N' ? (VALUE) >= 0 && (VALUE) <= 255 : 0) # 1424 "i386.h" #define CONST_DOUBLE_OK_FOR_LETTER_P(VALUE,C) ((C) == 'G' ? standard_80387_constant_p (VALUE) : ((C) == 'H' ? standard_sse_constant_p (VALUE) : 0)) # 1440 "i386.h" #define EXTRA_CONSTRAINT(VALUE,C) ((C) == 'e' ? x86_64_sign_extended_value (VALUE) : (C) == 'Z' ? x86_64_zero_extended_value (VALUE) : 0) # 1449 "i386.h" #define LIMIT_RELOAD_CLASS(MODE,CLASS) ((MODE) == QImode && !TARGET_64BIT && ((CLASS) == ALL_REGS || (CLASS) == GENERAL_REGS || (CLASS) == LEGACY_REGS || (CLASS) == INDEX_REGS) ? Q_REGS : (CLASS)) # 1468 "i386.h" #define PREFERRED_RELOAD_CLASS(X,CLASS) ix86_preferred_reload_class ((X), (CLASS)) #define SECONDARY_MEMORY_NEEDED(CLASS1,CLASS2,MODE) ix86_secondary_memory_needed ((CLASS1), (CLASS2), (MODE), 1) #define SECONDARY_OUTPUT_RELOAD_CLASS(CLASS,MODE,OUT) (((CLASS) == GENERAL_REGS || (CLASS) == LEGACY_REGS || (CLASS) == INDEX_REGS) && !TARGET_64BIT && (MODE) == QImode ? Q_REGS : NO_REGS) # 1492 "i386.h" #define CLASS_MAX_NREGS(CLASS,MODE) (!MAYBE_INTEGER_CLASS_P (CLASS) ? (COMPLEX_MODE_P (MODE) ? 2 : 1) : ((GET_MODE_SIZE ((MODE) == TFmode ? XFmode : (MODE)) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)) # 1514 "i386.h" #define CLASS_LIKELY_SPILLED_P(CLASS) (((CLASS) == AREG) || ((CLASS) == DREG) || ((CLASS) == CREG) || ((CLASS) == BREG) || ((CLASS) == AD_REGS) || ((CLASS) == SIREG) || ((CLASS) == DIREG)) # 1529 "i386.h" #define MD_ASM_CLOBBERS(CLOBBERS) do { (CLOBBERS) = tree_cons (NULL_TREE, build_string (5, "flags"), (CLOBBERS)); (CLOBBERS) = tree_cons (NULL_TREE, build_string (4, "fpsr"), (CLOBBERS)); (CLOBBERS) = tree_cons (NULL_TREE, build_string (7, "dirflag"), (CLOBBERS)); } while (0) # 1543 "i386.h" #define STACK_GROWS_DOWNWARD #define FRAME_GROWS_DOWNWARD #define STARTING_FRAME_OFFSET 0 # 1566 "i386.h" #define PUSH_ROUNDING(BYTES) (TARGET_64BIT ? (((BYTES) + 7) & (-8)) : (((BYTES) + 1) & (-2))) # 1577 "i386.h" #define ACCUMULATE_OUTGOING_ARGS TARGET_ACCUMULATE_OUTGOING_ARGS #define PUSH_ARGS (TARGET_PUSH_ARGS && !ACCUMULATE_OUTGOING_ARGS) #define FIRST_PARM_OFFSET(FNDECL) 0 # 1596 "i386.h" #define REG_PARM_STACK_SPACE(FNDECL) 0 #define MUST_PASS_IN_STACK(MODE,TYPE) ((TYPE) != 0 && (TREE_CODE (TYPE_SIZE (TYPE)) != INTEGER_CST || TREE_ADDRESSABLE (TYPE) || ((MODE) == TImode) || ((MODE) == BLKmode && ! ((TYPE) != 0 && TREE_CODE (TYPE_SIZE (TYPE)) == INTEGER_CST && 0 == (int_size_in_bytes (TYPE) % (PARM_BOUNDARY / BITS_PER_UNIT))) && (FUNCTION_ARG_PADDING (MODE, TYPE) == (BYTES_BIG_ENDIAN ? upward : downward))))) # 1633 "i386.h" #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) ix86_return_pops_args ((FUNDECL), (FUNTYPE), (SIZE)) #define FUNCTION_VALUE(VALTYPE,FUNC) ix86_function_value (VALTYPE) #define FUNCTION_VALUE_REGNO_P(N) ix86_function_value_regno_p (N) #define LIBCALL_VALUE(MODE) ix86_libcall_value (MODE) #define APPLY_RESULT_SIZE (8+108) #define FUNCTION_ARG_REGNO_P(N) ix86_function_arg_regno_p (N) typedef struct ix86_args { int words; int nregs; int regno; int sse_words; int sse_nregs; int sse_regno; int maybe_vaarg; } CUMULATIVE_ARGS; #define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME,INDIRECT) init_cumulative_args (&(CUM), (FNTYPE), (LIBNAME)) #define FUNCTION_ARG_ADVANCE(CUM,MODE,TYPE,NAMED) function_arg_advance (&(CUM), (MODE), (TYPE), (NAMED)) # 1704 "i386.h" #define FUNCTION_ARG(CUM,MODE,TYPE,NAMED) function_arg (&(CUM), (MODE), (TYPE), (NAMED)) #define FUNCTION_ARG_PARTIAL_NREGS(CUM,MODE,TYPE,NAMED) 0 #define FUNCTION_OK_FOR_SIBCALL(DECL) ((DECL) && (! flag_pic || ! TREE_PUBLIC (DECL)) && (! TARGET_FLOAT_RETURNS_IN_80387 || ! FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (DECL)))) || FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (cfun->decl)))))) # 1739 "i386.h" #define SETUP_INCOMING_VARARGS(CUM,MODE,TYPE,PRETEND_SIZE,NO_RTL) ix86_setup_incoming_varargs (&(CUM), (MODE), (TYPE), &(PRETEND_SIZE), (NO_RTL)) #define BUILD_VA_LIST_TYPE(VALIST) ((VALIST) = ix86_build_va_list ()) #define EXPAND_BUILTIN_VA_START(STDARG,VALIST,NEXTARG) ix86_va_start ((STDARG), (VALIST), (NEXTARG)) #define EXPAND_BUILTIN_VA_ARG(VALIST,TYPE) ix86_va_arg ((VALIST), (TYPE)) #undef ASM_FILE_END #define ASM_FILE_END(FILE) ix86_asm_file_end (FILE) #define FUNCTION_PROFILER(FILE,LABELNO) do { if (flag_pic) { fprintf ((FILE), "\tleal\t%sP%d@GOTOFF(%%ebx),%%edx\n", LPREFIX, (LABELNO)); fprintf ((FILE), "\tcall\t*_mcount@GOT(%%ebx)\n"); } else { fprintf ((FILE), "\tmovl\t$%sP%d,%%edx\n", LPREFIX, (LABELNO)); fprintf ((FILE), "\tcall\t_mcount\n"); } } while (0) # 1787 "i386.h" #define EXIT_IGNORE_STACK 1 # 1801 "i386.h" #define TRAMPOLINE_SIZE (TARGET_64BIT ? 23 : 10) #define INITIALIZE_TRAMPOLINE(TRAMP,FNADDR,CXT) x86_initialize_trampoline ((TRAMP), (FNADDR), (CXT)) # 1823 "i386.h" #define ELIMINABLE_REGS {{ ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, { ARG_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}, { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, { FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}} # 1834 "i386.h" #define CAN_ELIMINATE(FROM,TO) ((TO) == STACK_POINTER_REGNUM ? ! frame_pointer_needed : 1) #define INITIAL_ELIMINATION_OFFSET(FROM,TO,OFFSET) ((OFFSET) = ix86_initial_elimination_offset ((FROM), (TO))) # 1859 "i386.h" #define REGNO_OK_FOR_INDEX_P(REGNO) ((REGNO) < STACK_POINTER_REGNUM || (REGNO >= FIRST_REX_INT_REG && (REGNO) <= LAST_REX_INT_REG) || ((unsigned) reg_renumber[(REGNO)] >= FIRST_REX_INT_REG && (unsigned) reg_renumber[(REGNO)] <= LAST_REX_INT_REG) || (unsigned) reg_renumber[(REGNO)] < STACK_POINTER_REGNUM) #define REGNO_OK_FOR_BASE_P(REGNO) ((REGNO) <= STACK_POINTER_REGNUM || (REGNO) == ARG_POINTER_REGNUM || (REGNO) == FRAME_POINTER_REGNUM || (REGNO >= FIRST_REX_INT_REG && (REGNO) <= LAST_REX_INT_REG) || ((unsigned) reg_renumber[(REGNO)] >= FIRST_REX_INT_REG && (unsigned) reg_renumber[(REGNO)] <= LAST_REX_INT_REG) || (unsigned) reg_renumber[(REGNO)] <= STACK_POINTER_REGNUM) # 1877 "i386.h" #define REGNO_OK_FOR_SIREG_P(REGNO) ((REGNO) == 4 || reg_renumber[(REGNO)] == 4) #define REGNO_OK_FOR_DIREG_P(REGNO) ((REGNO) == 5 || reg_renumber[(REGNO)] == 5) # 1897 "i386.h" #define REG_OK_FOR_INDEX_NONSTRICT_P(X) (REGNO (X) < STACK_POINTER_REGNUM || (REGNO (X) >= FIRST_REX_INT_REG && REGNO (X) <= LAST_REX_INT_REG) || REGNO (X) >= FIRST_PSEUDO_REGISTER) #define REG_OK_FOR_BASE_NONSTRICT_P(X) (REGNO (X) <= STACK_POINTER_REGNUM || REGNO (X) == ARG_POINTER_REGNUM || REGNO (X) == FRAME_POINTER_REGNUM || (REGNO (X) >= FIRST_REX_INT_REG && REGNO (X) <= LAST_REX_INT_REG) || REGNO (X) >= FIRST_PSEUDO_REGISTER) # 1912 "i386.h" #define REG_OK_FOR_INDEX_STRICT_P(X) REGNO_OK_FOR_INDEX_P (REGNO (X)) #define REG_OK_FOR_BASE_STRICT_P(X) REGNO_OK_FOR_BASE_P (REGNO (X)) #define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_INDEX_STRICT_P (X) #define REG_OK_FOR_BASE_P(X) REG_OK_FOR_BASE_STRICT_P (X) # 1935 "i386.h" #define MAX_REGS_PER_ADDRESS 2 #define CONSTANT_ADDRESS_P(X) (GET_CODE (X) == LABEL_REF || GET_CODE (X) == SYMBOL_REF || GET_CODE (X) == CONST_INT || GET_CODE (X) == CONST || GET_CODE (X) == CONST_DOUBLE) #define LEGITIMATE_CONSTANT_P(X) 1 #define GO_IF_LEGITIMATE_ADDRESS(MODE,X,ADDR) do { if (legitimate_address_p ((MODE), (X), 1)) goto ADDR; } while (0) # 1972 "i386.h" #define FIND_BASE_TERM(X) ix86_find_base_term (X) # 1995 "i386.h" #define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN) do { (X) = legitimize_address ((X), (OLDX), (MODE)); if (memory_address_p ((MODE), (X))) goto WIN; } while (0) #define REWRITE_ADDRESS(X) rewrite_address (X) #define LEGITIMATE_PIC_OPERAND_P(X) (! SYMBOLIC_CONST (X) || legitimate_pic_address_disp_p (X)) #define SYMBOLIC_CONST(X) (GET_CODE (X) == SYMBOL_REF || GET_CODE (X) == LABEL_REF || (GET_CODE (X) == CONST && symbolic_reference_mentioned_p (X))) # 2021 "i386.h" #define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR,LABEL) do { if (GET_CODE (ADDR) == POST_INC || GET_CODE (ADDR) == POST_DEC) goto LABEL; } while (0) enum ix86_builtins { IX86_BUILTIN_ADDPS, IX86_BUILTIN_ADDSS, IX86_BUILTIN_DIVPS, IX86_BUILTIN_DIVSS, IX86_BUILTIN_MULPS, IX86_BUILTIN_MULSS, IX86_BUILTIN_SUBPS, IX86_BUILTIN_SUBSS, IX86_BUILTIN_CMPEQPS, IX86_BUILTIN_CMPLTPS, IX86_BUILTIN_CMPLEPS, IX86_BUILTIN_CMPGTPS, IX86_BUILTIN_CMPGEPS, IX86_BUILTIN_CMPNEQPS, IX86_BUILTIN_CMPNLTPS, IX86_BUILTIN_CMPNLEPS, IX86_BUILTIN_CMPNGTPS, IX86_BUILTIN_CMPNGEPS, IX86_BUILTIN_CMPORDPS, IX86_BUILTIN_CMPUNORDPS, IX86_BUILTIN_CMPNEPS, IX86_BUILTIN_CMPEQSS, IX86_BUILTIN_CMPLTSS, IX86_BUILTIN_CMPLESS, IX86_BUILTIN_CMPGTSS, IX86_BUILTIN_CMPGESS, IX86_BUILTIN_CMPNEQSS, IX86_BUILTIN_CMPNLTSS, IX86_BUILTIN_CMPNLESS, IX86_BUILTIN_CMPNGTSS, IX86_BUILTIN_CMPNGESS, IX86_BUILTIN_CMPORDSS, IX86_BUILTIN_CMPUNORDSS, IX86_BUILTIN_CMPNESS, IX86_BUILTIN_COMIEQSS, IX86_BUILTIN_COMILTSS, IX86_BUILTIN_COMILESS, IX86_BUILTIN_COMIGTSS, IX86_BUILTIN_COMIGESS, IX86_BUILTIN_COMINEQSS, IX86_BUILTIN_UCOMIEQSS, IX86_BUILTIN_UCOMILTSS, IX86_BUILTIN_UCOMILESS, IX86_BUILTIN_UCOMIGTSS, IX86_BUILTIN_UCOMIGESS, IX86_BUILTIN_UCOMINEQSS, IX86_BUILTIN_CVTPI2PS, IX86_BUILTIN_CVTPS2PI, IX86_BUILTIN_CVTSI2SS, IX86_BUILTIN_CVTSS2SI, IX86_BUILTIN_CVTTPS2PI, IX86_BUILTIN_CVTTSS2SI, IX86_BUILTIN_MAXPS, IX86_BUILTIN_MAXSS, IX86_BUILTIN_MINPS, IX86_BUILTIN_MINSS, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADUPS, IX86_BUILTIN_STOREAPS, IX86_BUILTIN_STOREUPS, IX86_BUILTIN_LOADSS, IX86_BUILTIN_STORESS, IX86_BUILTIN_MOVSS, IX86_BUILTIN_MOVHLPS, IX86_BUILTIN_MOVLHPS, IX86_BUILTIN_LOADHPS, IX86_BUILTIN_LOADLPS, IX86_BUILTIN_STOREHPS, IX86_BUILTIN_STORELPS, IX86_BUILTIN_MASKMOVQ, IX86_BUILTIN_MOVMSKPS, IX86_BUILTIN_PMOVMSKB, IX86_BUILTIN_MOVNTPS, IX86_BUILTIN_MOVNTQ, IX86_BUILTIN_PACKSSWB, IX86_BUILTIN_PACKSSDW, IX86_BUILTIN_PACKUSWB, IX86_BUILTIN_PADDB, IX86_BUILTIN_PADDW, IX86_BUILTIN_PADDD, IX86_BUILTIN_PADDSB, IX86_BUILTIN_PADDSW, IX86_BUILTIN_PADDUSB, IX86_BUILTIN_PADDUSW, IX86_BUILTIN_PSUBB, IX86_BUILTIN_PSUBW, IX86_BUILTIN_PSUBD, IX86_BUILTIN_PSUBSB, IX86_BUILTIN_PSUBSW, IX86_BUILTIN_PSUBUSB, IX86_BUILTIN_PSUBUSW, IX86_BUILTIN_PAND, IX86_BUILTIN_PANDN, IX86_BUILTIN_POR, IX86_BUILTIN_PXOR, IX86_BUILTIN_PAVGB, IX86_BUILTIN_PAVGW, IX86_BUILTIN_PCMPEQB, IX86_BUILTIN_PCMPEQW, IX86_BUILTIN_PCMPEQD, IX86_BUILTIN_PCMPGTB, IX86_BUILTIN_PCMPGTW, IX86_BUILTIN_PCMPGTD, IX86_BUILTIN_PEXTRW, IX86_BUILTIN_PINSRW, IX86_BUILTIN_PMADDWD, IX86_BUILTIN_PMAXSW, IX86_BUILTIN_PMAXUB, IX86_BUILTIN_PMINSW, IX86_BUILTIN_PMINUB, IX86_BUILTIN_PMULHUW, IX86_BUILTIN_PMULHW, IX86_BUILTIN_PMULLW, IX86_BUILTIN_PSADBW, IX86_BUILTIN_PSHUFW, IX86_BUILTIN_PSLLW, IX86_BUILTIN_PSLLD, IX86_BUILTIN_PSLLQ, IX86_BUILTIN_PSRAW, IX86_BUILTIN_PSRAD, IX86_BUILTIN_PSRLW, IX86_BUILTIN_PSRLD, IX86_BUILTIN_PSRLQ, IX86_BUILTIN_PSLLWI, IX86_BUILTIN_PSLLDI, IX86_BUILTIN_PSLLQI, IX86_BUILTIN_PSRAWI, IX86_BUILTIN_PSRADI, IX86_BUILTIN_PSRLWI, IX86_BUILTIN_PSRLDI, IX86_BUILTIN_PSRLQI, IX86_BUILTIN_PUNPCKHBW, IX86_BUILTIN_PUNPCKHWD, IX86_BUILTIN_PUNPCKHDQ, IX86_BUILTIN_PUNPCKLBW, IX86_BUILTIN_PUNPCKLWD, IX86_BUILTIN_PUNPCKLDQ, IX86_BUILTIN_SHUFPS, IX86_BUILTIN_RCPPS, IX86_BUILTIN_RCPSS, IX86_BUILTIN_RSQRTPS, IX86_BUILTIN_RSQRTSS, IX86_BUILTIN_SQRTPS, IX86_BUILTIN_SQRTSS, IX86_BUILTIN_UNPCKHPS, IX86_BUILTIN_UNPCKLPS, IX86_BUILTIN_ANDPS, IX86_BUILTIN_ANDNPS, IX86_BUILTIN_ORPS, IX86_BUILTIN_XORPS, IX86_BUILTIN_EMMS, IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR, IX86_BUILTIN_SFENCE, IX86_BUILTIN_FEMMS, IX86_BUILTIN_PAVGUSB, IX86_BUILTIN_PF2ID, IX86_BUILTIN_PFACC, IX86_BUILTIN_PFADD, IX86_BUILTIN_PFCMPEQ, IX86_BUILTIN_PFCMPGE, IX86_BUILTIN_PFCMPGT, IX86_BUILTIN_PFMAX, IX86_BUILTIN_PFMIN, IX86_BUILTIN_PFMUL, IX86_BUILTIN_PFRCP, IX86_BUILTIN_PFRCPIT1, IX86_BUILTIN_PFRCPIT2, IX86_BUILTIN_PFRSQIT1, IX86_BUILTIN_PFRSQRT, IX86_BUILTIN_PFSUB, IX86_BUILTIN_PFSUBR, IX86_BUILTIN_PI2FD, IX86_BUILTIN_PMULHRW, IX86_BUILTIN_PF2IW, IX86_BUILTIN_PFNACC, IX86_BUILTIN_PFPNACC, IX86_BUILTIN_PI2FW, IX86_BUILTIN_PSWAPDSI, IX86_BUILTIN_PSWAPDSF, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_MAX }; # 2254 "i386.h" #define ENCODE_SECTION_INFO(DECL) do { if (flag_pic) { rtx rtl = (TREE_CODE_CLASS (TREE_CODE (DECL)) != 'd' ? TREE_CST_RTL (DECL) : DECL_RTL (DECL)); if (GET_CODE (rtl) == MEM) { if (TARGET_DEBUG_ADDR && TREE_CODE_CLASS (TREE_CODE (DECL)) == 'd') { fprintf (stderr, "Encode %s, public = %d\n", IDENTIFIER_POINTER (DECL_NAME (DECL)), TREE_PUBLIC (DECL)); } SYMBOL_REF_FLAG (XEXP (rtl, 0)) = (TREE_CODE_CLASS (TREE_CODE (DECL)) != 'd' || ! TREE_PUBLIC (DECL)); } } } while (0) # 2285 "i386.h" #define FINALIZE_PIC (current_function_uses_pic_offset_table |= current_function_profile) # 2294 "i386.h" #define REGPARM_MAX (TARGET_64BIT ? 6 : 3) #define SSE_REGPARM_MAX (TARGET_64BIT ? 8 : 0) #define CASE_VECTOR_MODE (!TARGET_64BIT || flag_pic ? SImode : DImode) # 2310 "i386.h" #define DEFAULT_SIGNED_CHAR 1 #define PREFETCH_BLOCK ix86_cost->prefetch_block #define SIMULTANEOUS_PREFETCHES ix86_cost->simultaneous_prefetches #define MOVE_MAX 16 #define MOVE_MAX_PIECES (TARGET_64BIT ? 8 : 4) # 2334 "i386.h" #define MOVE_RATIO (optimize_size ? 3 : ix86_cost->move_ratio) # 2345 "i386.h" #define TRULY_NOOP_TRUNCATION(OUTPREC,INPREC) 1 #define STORE_FLAG_VALUE 1 #define PROMOTE_PROTOTYPES (!TARGET_64BIT) # 2365 "i386.h" #define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE) do { if (((MODE) == HImode && TARGET_PROMOTE_HI_REGS) || ((MODE) == QImode && TARGET_PROMOTE_QI_REGS)) (MODE) = SImode; } while (0) # 2375 "i386.h" #define Pmode (TARGET_64BIT ? DImode : SImode) #define FUNCTION_MODE QImode # 2395 "i386.h" #define CONST_COSTS(RTX,CODE,OUTER_CODE) case CONST_INT: case CONST: case LABEL_REF: case SYMBOL_REF: if (TARGET_64BIT && !x86_64_sign_extended_value (RTX)) return 3; if (TARGET_64BIT && !x86_64_zero_extended_value (RTX)) return 2; return flag_pic && SYMBOLIC_CONST (RTX) ? 1 : 0; case CONST_DOUBLE: { int code; if (GET_MODE (RTX) == VOIDmode) return 0; code = standard_80387_constant_p (RTX); return code == 1 ? 1 : code == 2 ? 2 : 3; } # 2419 "i386.h" #define TOPLEVEL_COSTS_N_INSNS(N) do { total = COSTS_N_INSNS (N); goto egress_rtx_costs; } while (0) # 2432 "i386.h" #define RTX_COSTS(X,CODE,OUTER_CODE) case ZERO_EXTEND: if (TARGET_64BIT && GET_MODE (X) == DImode && GET_MODE (XEXP (X, 0)) == SImode) { total = 1; goto egress_rtx_costs; } else TOPLEVEL_COSTS_N_INSNS (TARGET_ZERO_EXTEND_WITH_AND ? ix86_cost->add : ix86_cost->movzx); break; case SIGN_EXTEND: TOPLEVEL_COSTS_N_INSNS (ix86_cost->movsx); break; case ASHIFT: if (GET_CODE (XEXP (X, 1)) == CONST_INT && (GET_MODE (XEXP (X, 0)) != DImode || TARGET_64BIT)) { HOST_WIDE_INT value = INTVAL (XEXP (X, 1)); if (value == 1) TOPLEVEL_COSTS_N_INSNS (ix86_cost->add); if ((value == 2 || value == 3) && !TARGET_DECOMPOSE_LEA && ix86_cost->lea <= ix86_cost->shift_const) TOPLEVEL_COSTS_N_INSNS (ix86_cost->lea); } case ROTATE: case ASHIFTRT: case LSHIFTRT: case ROTATERT: if (!TARGET_64BIT && GET_MODE (XEXP (X, 0)) == DImode) { if (GET_CODE (XEXP (X, 1)) == CONST_INT) { if (INTVAL (XEXP (X, 1)) > 32) TOPLEVEL_COSTS_N_INSNS(ix86_cost->shift_const + 2); else TOPLEVEL_COSTS_N_INSNS(ix86_cost->shift_const * 2); } else { if (GET_CODE (XEXP (X, 1)) == AND) TOPLEVEL_COSTS_N_INSNS(ix86_cost->shift_var * 2); else TOPLEVEL_COSTS_N_INSNS(ix86_cost->shift_var * 6 + 2); } } else { if (GET_CODE (XEXP (X, 1)) == CONST_INT) TOPLEVEL_COSTS_N_INSNS (ix86_cost->shift_const); else TOPLEVEL_COSTS_N_INSNS (ix86_cost->shift_var); } break; case MULT: if (GET_CODE (XEXP (X, 1)) == CONST_INT) { unsigned HOST_WIDE_INT value = INTVAL (XEXP (X, 1)); int nbits = 0; while (value != 0) { nbits++; value >>= 1; } TOPLEVEL_COSTS_N_INSNS (ix86_cost->mult_init + nbits * ix86_cost->mult_bit); } else TOPLEVEL_COSTS_N_INSNS (ix86_cost->mult_init + 7 * ix86_cost->mult_bit); case DIV: case UDIV: case MOD: case UMOD: TOPLEVEL_COSTS_N_INSNS (ix86_cost->divide); case PLUS: if (!TARGET_DECOMPOSE_LEA && INTEGRAL_MODE_P (GET_MODE (X)) && GET_MODE_BITSIZE (GET_MODE (X)) <= GET_MODE_BITSIZE (Pmode)) { if (GET_CODE (XEXP (X, 0)) == PLUS && GET_CODE (XEXP (XEXP (X, 0), 0)) == MULT && GET_CODE (XEXP (XEXP (XEXP (X, 0), 0), 1)) == CONST_INT && CONSTANT_P (XEXP (X, 1))) { HOST_WIDE_INT val = INTVAL (XEXP (XEXP (XEXP (X, 0), 0), 1)); if (val == 2 || val == 4 || val == 8) { return (COSTS_N_INSNS (ix86_cost->lea) + rtx_cost (XEXP (XEXP (X, 0), 1), (OUTER_CODE)) + rtx_cost (XEXP (XEXP (XEXP (X, 0), 0), 0), (OUTER_CODE)) + rtx_cost (XEXP (X, 1), (OUTER_CODE))); } } else if (GET_CODE (XEXP (X, 0)) == MULT && GET_CODE (XEXP (XEXP (X, 0), 1)) == CONST_INT) { HOST_WIDE_INT val = INTVAL (XEXP (XEXP (X, 0), 1)); if (val == 2 || val == 4 || val == 8) { return (COSTS_N_INSNS (ix86_cost->lea) + rtx_cost (XEXP (XEXP (X, 0), 0), (OUTER_CODE)) + rtx_cost (XEXP (X, 1), (OUTER_CODE))); } } else if (GET_CODE (XEXP (X, 0)) == PLUS) { return (COSTS_N_INSNS (ix86_cost->lea) + rtx_cost (XEXP (XEXP (X, 0), 0), (OUTER_CODE)) + rtx_cost (XEXP (XEXP (X, 0), 1), (OUTER_CODE)) + rtx_cost (XEXP (X, 1), (OUTER_CODE))); } } case AND: case IOR: case XOR: case MINUS: if (!TARGET_64BIT && GET_MODE (X) == DImode) return (COSTS_N_INSNS (ix86_cost->add) * 2 + (rtx_cost (XEXP (X, 0), (OUTER_CODE)) << (GET_MODE (XEXP (X, 0)) != DImode)) + (rtx_cost (XEXP (X, 1), (OUTER_CODE)) << (GET_MODE (XEXP (X, 1)) != DImode))); case NEG: case NOT: if (!TARGET_64BIT && GET_MODE (X) == DImode) TOPLEVEL_COSTS_N_INSNS (ix86_cost->add * 2); TOPLEVEL_COSTS_N_INSNS (ix86_cost->add); egress_rtx_costs: break; # 2628 "i386.h" #define ADDRESS_COST(RTX) ix86_address_cost (RTX) # 2640 "i386.h" #define REGISTER_MOVE_COST(MODE,CLASS1,CLASS2) ix86_register_move_cost ((MODE), (CLASS1), (CLASS2)) # 2651 "i386.h" #define MEMORY_MOVE_COST(MODE,CLASS,IN) ix86_memory_move_cost ((MODE), (CLASS), (IN)) #define BRANCH_COST ix86_branch_cost # 2673 "i386.h" #define SLOW_BYTE_ACCESS 0 #define SLOW_SHORT_ACCESS 0 # 2704 "i386.h" #define NO_FUNCTION_CSE #define NO_RECURSIVE_FUNCTION_CSE # 2732 "i386.h" #define EXTRA_CC_MODES CC (CCGCmode, "CCGC") CC (CCGOCmode, "CCGOC") CC (CCNOmode, "CCNO") CC (CCZmode, "CCZ") CC (CCFPmode, "CCFP") CC (CCFPUmode, "CCFPU") # 2749 "i386.h" #define SELECT_CC_MODE(OP,X,Y) ix86_cc_mode ((OP), (X), (Y)) #define REVERSIBLE_CC_MODE(MODE) 1 #define REVERSE_CONDITION(CODE,MODE) ((MODE) != CCFPmode && (MODE) != CCFPUmode ? reverse_condition (CODE) : reverse_condition_maybe_unordered (CODE)) # 2775 "i386.h" #undef HI_REGISTER_NAMES #define HI_REGISTER_NAMES {"ax","dx","cx","bx","si","di","bp","sp", "st","st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)","", "flags","fpsr", "dirflag", "frame", "xmm0","xmm1","xmm2","xmm3","xmm4","xmm5","xmm6","xmm7", "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7" , "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15"} # 2785 "i386.h" #define REGISTER_NAMES HI_REGISTER_NAMES #define ADDITIONAL_REGISTER_NAMES { { "eax", 0 }, { "edx", 1 }, { "ecx", 2 }, { "ebx", 3 }, { "esi", 4 }, { "edi", 5 }, { "ebp", 6 }, { "esp", 7 }, { "rax", 0 }, { "rdx", 1 }, { "rcx", 2 }, { "rbx", 3 }, { "rsi", 4 }, { "rdi", 5 }, { "rbp", 6 }, { "rsp", 7 }, { "al", 0 }, { "dl", 1 }, { "cl", 2 }, { "bl", 3 }, { "ah", 0 }, { "dh", 1 }, { "ch", 2 }, { "bh", 3 }, { "mm0", 8}, { "mm1", 9}, { "mm2", 10}, { "mm3", 11}, { "mm4", 12}, { "mm5", 13}, { "mm6", 14}, { "mm7", 15} } # 2804 "i386.h" #define QI_REGISTER_NAMES {"al", "dl", "cl", "bl", "sil", "dil", "bpl", "spl",} #define QI_HIGH_REGISTER_NAMES {"ah", "dh", "ch", "bh", } #define DBX_REGISTER_NUMBER(N) (TARGET_64BIT ? dbx64_register_map[(N)] : dbx_register_map[(N)]) extern int const dbx_register_map[53]; extern int const dbx64_register_map[53]; extern int const svr4_dbx_register_map[53]; #define INCOMING_RETURN_ADDR_RTX gen_rtx_MEM (VOIDmode, gen_rtx_REG (VOIDmode, STACK_POINTER_REGNUM)) #define RETURN_ADDR_RTX(COUNT,FRAME) ((COUNT) == 0 ? gen_rtx_MEM (Pmode, plus_constant (arg_pointer_rtx, -UNITS_PER_WORD)) : gen_rtx_MEM (Pmode, plus_constant (FRAME, UNITS_PER_WORD))) #define DWARF_FRAME_RETURN_COLUMN (TARGET_64BIT ? 16 : 8) #define INCOMING_FRAME_SP_OFFSET UNITS_PER_WORD #define EH_RETURN_DATA_REGNO(N) ((N) < 2 ? (N) : INVALID_REGNUM) #define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, 2) # 2851 "i386.h" #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) (flag_pic ? ((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4 : DW_EH_PE_absptr) #define ASM_OUTPUT_LABEL(FILE,NAME) (assemble_name ((FILE), (NAME)), fputs (":\n", (FILE))) #define ASM_FORMAT_PRIVATE_NAME(OUTPUT,NAME,LABELNO) ( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO))) #define ASM_OUTPUT_REG_PUSH(FILE,REGNO) asm_fprintf ((FILE), "\tpush{l}\t%%e%s\n", reg_names[(REGNO)]) #define ASM_OUTPUT_REG_POP(FILE,REGNO) asm_fprintf ((FILE), "\tpop{l}\t%%e%s\n", reg_names[(REGNO)]) #define ASM_OUTPUT_ADDR_VEC_ELT(FILE,VALUE) ix86_output_addr_vec_elt ((FILE), (VALUE)) #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE,BODY,VALUE,REL) ix86_output_addr_diff_elt ((FILE), (VALUE), (REL)) #define JUMP_TABLES_IN_TEXT_SECTION (!TARGET_64BIT && flag_pic && !HAVE_AS_GOTOFF_IN_DATA) #define ASM_OUTPUT_DWARF_ADDR_CONST(FILE,X) i386_dwarf_output_addr_const ((FILE), (X)) #define ASM_SIMPLIFY_DWARF_ADDR(X) i386_simplify_dwarf_addr (X) #define CRT_CALL_STATIC_FUNCTION(SECTION_OP,FUNC) asm (SECTION_OP "\n\t" "call " USER_LABEL_PREFIX #FUNC "\n" TEXT_SECTION_ASM_OP); # 2922 "i386.h" #define PRINT_OPERAND_PUNCT_VALID_P(CODE) ((CODE) == '*' || (CODE) == '+') # 2933 "i386.h" #define PRINT_REG(X,CODE,FILE) print_reg ((X), (CODE), (FILE)) #define PRINT_OPERAND(FILE,X,CODE) print_operand ((FILE), (X), (CODE)) #define PRINT_OPERAND_ADDRESS(FILE,ADDR) print_operand_address ((FILE), (ADDR)) #define DEBUG_PRINT_REG(X,CODE,FILE) do { static const char * const hi_name[] = HI_REGISTER_NAMES; static const char * const qi_name[] = QI_REGISTER_NAMES; fprintf ((FILE), "%d ", REGNO (X)); if (REGNO (X) == FLAGS_REG) { fputs ("flags", (FILE)); break; } if (REGNO (X) == DIRFLAG_REG) { fputs ("dirflag", (FILE)); break; } if (REGNO (X) == FPSR_REG) { fputs ("fpsr", (FILE)); break; } if (REGNO (X) == ARG_POINTER_REGNUM) { fputs ("argp", (FILE)); break; } if (REGNO (X) == FRAME_POINTER_REGNUM) { fputs ("frame", (FILE)); break; } if (STACK_TOP_P (X)) { fputs ("st(0)", (FILE)); break; } if (FP_REG_P (X)) { fputs (hi_name[REGNO(X)], (FILE)); break; } if (REX_INT_REG_P (X)) { switch (GET_MODE_SIZE (GET_MODE (X))) { default: case 8: fprintf ((FILE), "r%i", REGNO (X) - FIRST_REX_INT_REG + 8); break; case 4: fprintf ((FILE), "r%id", REGNO (X) - FIRST_REX_INT_REG + 8); break; case 2: fprintf ((FILE), "r%iw", REGNO (X) - FIRST_REX_INT_REG + 8); break; case 1: fprintf ((FILE), "r%ib", REGNO (X) - FIRST_REX_INT_REG + 8); break; } break; } switch (GET_MODE_SIZE (GET_MODE (X))) { case 8: fputs ("r", (FILE)); fputs (hi_name[REGNO (X)], (FILE)); break; default: fputs ("e", (FILE)); case 2: fputs (hi_name[REGNO (X)], (FILE)); break; case 1: fputs (qi_name[REGNO (X)], (FILE)); break; } } while (0) # 3009 "i386.h" #define ASM_OPERAND_LETTER '#' #define RET return "" #define AT_SP(MODE) (gen_rtx_MEM ((MODE), stack_pointer_rtx)) #define PREDICATE_CODES {"x86_64_immediate_operand", {CONST_INT, SUBREG, REG, SYMBOL_REF, LABEL_REF, CONST}}, {"x86_64_nonmemory_operand", {CONST_INT, SUBREG, REG, SYMBOL_REF, LABEL_REF, CONST}}, {"x86_64_movabs_operand", {CONST_INT, SUBREG, REG, SYMBOL_REF, LABEL_REF, CONST}}, {"x86_64_szext_nonmemory_operand", {CONST_INT, SUBREG, REG, SYMBOL_REF, LABEL_REF, CONST}}, {"x86_64_general_operand", {CONST_INT, SUBREG, REG, MEM, SYMBOL_REF, LABEL_REF, CONST}}, {"x86_64_szext_general_operand", {CONST_INT, SUBREG, REG, MEM, SYMBOL_REF, LABEL_REF, CONST}}, {"x86_64_zext_immediate_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, LABEL_REF}}, {"shiftdi_operand", {SUBREG, REG, MEM}}, {"const_int_1_operand", {CONST_INT}}, {"const_int_1_31_operand", {CONST_INT}}, {"symbolic_operand", {SYMBOL_REF, LABEL_REF, CONST}}, {"aligned_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, LABEL_REF, SUBREG, REG, MEM}}, {"pic_symbolic_operand", {CONST}}, {"call_insn_operand", {REG, SUBREG, MEM, SYMBOL_REF}}, {"constant_call_address_operand", {SYMBOL_REF, CONST}}, {"const0_operand", {CONST_INT, CONST_DOUBLE}}, {"const1_operand", {CONST_INT}}, {"const248_operand", {CONST_INT}}, {"incdec_operand", {CONST_INT}}, {"mmx_reg_operand", {REG}}, {"reg_no_sp_operand", {SUBREG, REG}}, {"general_no_elim_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, LABEL_REF, SUBREG, REG, MEM}}, {"nonmemory_no_elim_operand", {CONST_INT, REG, SUBREG}}, {"q_regs_operand", {SUBREG, REG}}, {"non_q_regs_operand", {SUBREG, REG}}, {"fcmov_comparison_operator", {EQ, NE, LTU, GTU, LEU, GEU, UNORDERED, ORDERED, LT, UNLT, GT, UNGT, LE, UNLE, GE, UNGE, LTGT, UNEQ}}, {"sse_comparison_operator", {EQ, LT, LE, UNORDERED, NE, UNGE, UNGT, ORDERED, UNEQ, UNLT, UNLE, LTGT, GE, GT }}, {"ix86_comparison_operator", {EQ, NE, LE, LT, GE, GT, LEU, LTU, GEU, GTU, UNORDERED, ORDERED, UNLE, UNLT, UNGE, UNGT, LTGT, UNEQ }}, {"cmp_fp_expander_operand", {CONST_DOUBLE, SUBREG, REG, MEM}}, {"ext_register_operand", {SUBREG, REG}}, {"binary_fp_operator", {PLUS, MINUS, MULT, DIV}}, {"mult_operator", {MULT}}, {"div_operator", {DIV}}, {"arith_or_logical_operator", {PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN, UMAX, COMPARE, MINUS, DIV, MOD, UDIV, UMOD, ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT}}, {"promotable_binary_operator", {PLUS, MULT, AND, IOR, XOR, ASHIFT}}, {"memory_displacement_operand", {MEM}}, {"cmpsi_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, LABEL_REF, SUBREG, REG, MEM, AND}}, {"long_memory_operand", {MEM}}, # 3077 "i386.h" #define SPECIAL_MODE_PREDICATES "ext_register_operand", # 3092 "i386.h" enum cmodel { CM_32, CM_SMALL, CM_KERNEL, CM_MEDIUM, CM_LARGE, CM_SMALL_PIC }; #define RED_ZONE_SIZE 128 #define RED_ZONE_RESERVE 8 extern const char *ix86_debug_arg_string, *ix86_debug_addr_string; enum asm_dialect { ASM_ATT, ASM_INTEL }; extern const char *ix86_asm_string; extern enum asm_dialect ix86_asm_dialect; extern const char *ix86_cmodel_string; extern enum cmodel ix86_cmodel; extern const char *ix86_cpu_string; extern const char *ix86_arch_string; extern const char *ix86_fpmath_string; extern const char *ix86_regparm_string; extern const char *ix86_align_loops_string; extern const char *ix86_align_jumps_string; extern const char *ix86_align_funcs_string; extern const char *ix86_preferred_stack_boundary_string; extern const char *ix86_branch_cost_string; extern int ix86_regparm; extern int ix86_preferred_stack_boundary; extern int ix86_branch_cost; extern enum reg_class const regclass_map[53]; extern rtx ix86_compare_op0; extern rtx ix86_compare_op1; # 3149 "i386.h" enum fp_cw_mode {FP_CW_STORED, FP_CW_UNINITIALIZED, FP_CW_ANY}; #define OPTIMIZE_MODE_SWITCHING(ENTITY) 1 # 3164 "i386.h" #define NUM_MODES_FOR_MODE_SWITCHING { FP_CW_ANY } #define MODE_NEEDED(ENTITY,I) (GET_CODE (I) == CALL_INSN || (GET_CODE (I) == INSN && (asm_noperands (PATTERN (I)) >= 0 || GET_CODE (PATTERN (I)) == ASM_INPUT)) ? FP_CW_UNINITIALIZED : recog_memoized (I) < 0 || get_attr_type (I) != TYPE_FISTP ? FP_CW_ANY : FP_CW_STORED) # 3184 "i386.h" #define MODE_PRIORITY_TO_MODE(ENTITY,N) (N) #define EMIT_MODE_SET(ENTITY,MODE,HARD_REGS_LIVE) ((MODE) == FP_CW_STORED ? emit_i387_cw_initialization (assign_386_stack_local (HImode, 1), assign_386_stack_local (HImode, 2)), 0 : 0) # 3202 "i386.h" #define HARD_REGNO_RENAME_OK(SRC,TARGET) ((SRC) < FIRST_STACK_REG || (SRC) > LAST_STACK_REG) # 16 "config.h" 2 # 1 "att.h" 1 # 22 "att.h" # 1 "unix.h" 1 # 25 "unix.h" #define DEFAULT_ASSEMBLER_DIALECT 0 #define SHIFT_DOUBLE_OMITS_COUNT 1 #define ASM_COMMENT_START "/" #define ASM_APP_ON "/APP\n" #define ASM_APP_OFF "/NO_APP\n" #define TEXT_SECTION_ASM_OP "\t.text" #define DATA_SECTION_ASM_OP "\t.data" #define BSS_SECTION_ASM_OP "\t.bss" #define ASM_GLOBALIZE_LABEL(FILE,NAME) (fputs (".globl ", FILE), assemble_name (FILE, NAME), fputs ("\n", FILE)) #define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS) #define VALUE_REGNO(MODE) (GET_MODE_CLASS (MODE) == MODE_FLOAT && TARGET_FLOAT_RETURNS_IN_80387 ? FIRST_FLOAT_REG : (MODE) == TImode || VECTOR_MODE_P (MODE) ? FIRST_SSE_REG : 0) #define ASM_OUTPUT_MI_THUNK(FILE,THUNK_FNDECL,DELTA,FUNCTION) x86_output_mi_thunk (FILE, DELTA, FUNCTION); # 23 "att.h" 2 #define TARGET_VERSION fprintf (stderr, " (80386, ATT syntax)"); #define LPREFIX ".L" #define ASM_SHORT "\t.value\t" #define ASM_LONG "\t.long\t" #define ASM_QUAD "\t.quad\t" #define ASM_OUTPUT_ASCII(FILE,PTR,SIZE) do { size_t i = 0, limit = (SIZE); while (i < limit) { if (i%10 == 0) { if (i!=0) fprintf ((FILE), "\n"); fputs ("\t.byte\t", (FILE)); } else fprintf ((FILE), ","); fprintf ((FILE), "0x%x", ((PTR)[i++] & 0377)) ;} fprintf ((FILE), "\n"); } while (0) # 52 "att.h" #undef ASM_FILE_START #define ASM_FILE_START(FILE) do { output_file_directive (FILE, main_input_filename); if (ix86_asm_dialect == ASM_INTEL) fputs ("\t.intel_syntax\n", FILE); } while (0) #undef ASM_FILE_START_1 #define ASM_FILE_START_1(FILE) fprintf (FILE, "\t.optim\n") #define ASM_OUTPUT_ALIGN(FILE,LOG) if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", 1<<(LOG)) #define ASM_OUTPUT_SKIP(FILE,SIZE) fprintf ((FILE), "\t.set .,.+%u\n", (SIZE)) #define ASM_NO_SKIP_IN_TEXT 1 #undef LOCAL_LABEL_PREFIX #define LOCAL_LABEL_PREFIX "." #undef ASM_GENERATE_INTERNAL_LABEL #define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER) sprintf ((BUF), "%s%s%ld", LOCAL_LABEL_PREFIX, (PREFIX), (long)(NUMBER)) #undef ASM_OUTPUT_INTERNAL_LABEL #define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) fprintf (FILE, "%s%s%d:\n", LOCAL_LABEL_PREFIX, PREFIX, NUM) #undef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "" # 17 "config.h" 2 # 1 "dbxelf.h" 1 # 26 "dbxelf.h" #define GCC_DBX_ELF_H #undef DBX_DEBUGGING_INFO #define DBX_DEBUGGING_INFO #undef DBX_BLOCKS_FUNCTION_RELATIVE #define DBX_BLOCKS_FUNCTION_RELATIVE 1 #undef DBX_FUNCTION_FIRST #define DBX_FUNCTION_FIRST #undef DBX_USE_BINCL #define DBX_USE_BINCL #define DBX_CONTIN_LENGTH 0 #undef ASM_OUTPUT_SOURCE_LINE #define ASM_OUTPUT_SOURCE_LINE(FILE,LINE) do { static int sym_lineno = 1; char temp[256]; ASM_GENERATE_INTERNAL_LABEL (temp, "LM", sym_lineno); fprintf (FILE, "\t.stabn 68,0,%d,", LINE); assemble_name (FILE, temp); putc ('-', FILE); assemble_name (FILE, XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); putc ('\n', FILE); ASM_OUTPUT_INTERNAL_LABEL (FILE, "LM", sym_lineno); sym_lineno += 1; } while (0) # 82 "dbxelf.h" #undef DBX_OUTPUT_MAIN_SOURCE_FILE_END #define DBX_OUTPUT_MAIN_SOURCE_FILE_END(FILE,FILENAME) asm_fprintf (FILE, "\t.text\n\t.stabs \"\",%d,0,0,%LLetext\n%LLetext:\n", N_SO) # 18 "config.h" 2 # 1 "elfos.h" 1 # 27 "elfos.h" #define USING_ELFOS_H #undef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "" #define MAX_OFILE_ALIGNMENT (32768 * 8) #define NO_DOLLAR_IN_LABEL #define PCC_BITFIELD_TYPE_MATTERS 1 #define TARGET_MEM_FUNCTIONS #define HANDLE_SYSV_PRAGMA #define DWARF_DEBUGGING_INFO 1 #define DWARF2_DEBUGGING_INFO 1 #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG #define OBJECT_FORMAT_ELF #define ASM_OUTPUT_IDENT(FILE,NAME) fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME); #define IDENT_ASM_OP "\t.ident\t" #undef SET_ASM_OP #define SET_ASM_OP "\t.set\t" # 102 "elfos.h" #undef ASM_FILE_START #define ASM_FILE_START(FILE) output_file_directive ((FILE), main_input_filename) #define SKIP_ASM_OP "\t.zero\t" #undef ASM_OUTPUT_SKIP #define ASM_OUTPUT_SKIP(FILE,SIZE) fprintf (FILE, "%s%u\n", SKIP_ASM_OP, (SIZE)) # 121 "elfos.h" #undef ASM_OUTPUT_INTERNAL_LABEL #define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) do { fprintf (FILE, ".%s%u:\n", PREFIX, (unsigned) (NUM)); } while (0) # 137 "elfos.h" #undef ASM_GENERATE_INTERNAL_LABEL #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) do { sprintf (LABEL, "*.%s%u", PREFIX, (unsigned) (NUM)); } while (0) # 153 "elfos.h" #undef ALIGN_ASM_OP #define ALIGN_ASM_OP "\t.align\t" #define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE,PREFIX,NUM,TABLE) ASM_OUTPUT_ALIGN ((FILE), 2); #undef ASM_OUTPUT_CASE_LABEL #define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,JUMPTABLE) do { ASM_OUTPUT_BEFORE_CASE_LABEL (FILE, PREFIX, NUM, JUMPTABLE) ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); } while (0) # 174 "elfos.h" #define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE,FUN) ASM_GLOBALIZE_LABEL (FILE, XSTR (FUN, 0)) #define COMMON_ASM_OP "\t.comm\t" #undef ASM_OUTPUT_ALIGNED_COMMON #define ASM_OUTPUT_ALIGNED_COMMON(FILE,NAME,SIZE,ALIGN) do { fprintf ((FILE), "%s", COMMON_ASM_OP); assemble_name ((FILE), (NAME)); fprintf ((FILE), ",%u,%u\n", (SIZE), (ALIGN) / BITS_PER_UNIT); } while (0) # 199 "elfos.h" #define LOCAL_ASM_OP "\t.local\t" #undef ASM_OUTPUT_ALIGNED_LOCAL #define ASM_OUTPUT_ALIGNED_LOCAL(FILE,NAME,SIZE,ALIGN) do { fprintf ((FILE), "%s", LOCAL_ASM_OP); assemble_name ((FILE), (NAME)); fprintf ((FILE), "\n"); ASM_OUTPUT_ALIGNED_COMMON (FILE, NAME, SIZE, ALIGN); } while (0) # 216 "elfos.h" #undef ASCII_DATA_ASM_OP #define ASCII_DATA_ASM_OP "\t.ascii\t" # 227 "elfos.h" #define USE_CONST_SECTION 1 #define CONST_SECTION_ASM_OP "\t.section\t.rodata" #define INIT_SECTION_ASM_OP "\t.section\t.init" #define FINI_SECTION_ASM_OP "\t.section\t.fini" #define ASM_SECTION_START_OP "\t.subsection\t-1" #define ASM_OUTPUT_SECTION_START(FILE) fprintf ((FILE), "%s\n", ASM_SECTION_START_OP) # 255 "elfos.h" #undef EXTRA_SECTIONS #define EXTRA_SECTIONS in_const #undef EXTRA_SECTION_FUNCTIONS #define EXTRA_SECTION_FUNCTIONS CONST_SECTION_FUNCTION #define READONLY_DATA_SECTION() const_section () #define CONST_SECTION_FUNCTION void const_section () { if (!USE_CONST_SECTION) text_section (); else if (in_section != in_const) { fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP); in_section = in_const; } } # 281 "elfos.h" #define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1) #define UNIQUE_SECTION(DECL,RELOC) do { int len; int sec; const char *name; char *string; const char *prefix; static const char *const prefixes[4][2] = { { ".text.", ".gnu.linkonce.t." }, { ".rodata.", ".gnu.linkonce.r." }, { ".data.", ".gnu.linkonce.d." }, { ".bss.", ".gnu.linkonce.b." } }; if (TREE_CODE (DECL) == FUNCTION_DECL) sec = 0; else if (DECL_INITIAL (DECL) == 0 || DECL_INITIAL (DECL) == error_mark_node) sec = 3; else if (DECL_READONLY_SECTION (DECL, RELOC)) sec = 1; else sec = 2; name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (DECL)); STRIP_NAME_ENCODING (name, name); prefix = prefixes[sec][DECL_ONE_ONLY(DECL)]; len = strlen (name) + strlen (prefix); string = alloca (len + 1); sprintf (string, "%s%s", prefix, name); DECL_SECTION_NAME (DECL) = build_string (len, string); } while (0) # 323 "elfos.h" #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section # 333 "elfos.h" #undef SELECT_RTX_SECTION #define SELECT_RTX_SECTION(MODE,RTX,ALIGN) mergeable_constant_section ((MODE), (ALIGN), 0) # 358 "elfos.h" #undef SELECT_SECTION #define SELECT_SECTION(DECL,RELOC,ALIGN) { if (TREE_CODE (DECL) == STRING_CST) { if (! flag_writable_strings) mergeable_string_section ((DECL), (ALIGN), 0); else data_section (); } else if (TREE_CODE (DECL) == VAR_DECL) { if (!TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) || !DECL_INITIAL (DECL) || (DECL_INITIAL (DECL) != error_mark_node && !TREE_CONSTANT (DECL_INITIAL (DECL)))) { if (flag_pic && ((RELOC) & 2)) named_section (NULL_TREE, ".data.rel", RELOC); else if (flag_pic && (RELOC)) named_section (NULL_TREE, ".data.rel.local", RELOC); else data_section (); } else if (flag_pic && ((RELOC) & 2)) named_section (NULL_TREE, ".data.rel.ro", RELOC); else if (flag_pic && (RELOC)) named_section (NULL_TREE, ".data.rel.ro.local", RELOC); else if (flag_merge_constants < 2) const_section (); else if (TREE_CODE (DECL_INITIAL (DECL)) == STRING_CST) mergeable_string_section (DECL_INITIAL (DECL), (ALIGN), 0); else mergeable_constant_section (DECL_MODE (DECL), (ALIGN), 0); } else if (TREE_CODE (DECL) == CONSTRUCTOR) { if ((flag_pic && RELOC) || TREE_SIDE_EFFECTS (DECL) || ! TREE_CONSTANT (DECL)) data_section (); else const_section (); } else const_section (); } # 417 "elfos.h" #define TYPE_ASM_OP "\t.type\t" #define SIZE_ASM_OP "\t.size\t" #define ASM_WEAKEN_LABEL(FILE,NAME) do { fputs ("\t.weak\t", (FILE)); assemble_name ((FILE), (NAME)); fputc ('\n', (FILE)); } while (0) # 437 "elfos.h" #define TYPE_OPERAND_FMT "@%s" #define ASM_DECLARE_RESULT(FILE,RESULT) # 457 "elfos.h" #define ASM_DECLARE_FUNCTION_NAME(FILE,NAME,DECL) do { fprintf (FILE, "%s", TYPE_ASM_OP); assemble_name (FILE, NAME); putc (',', FILE); fprintf (FILE, TYPE_OPERAND_FMT, "function"); putc ('\n', FILE); ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); ASM_OUTPUT_LABEL(FILE, NAME); } while (0) # 474 "elfos.h" #define ASM_DECLARE_OBJECT_NAME(FILE,NAME,DECL) do { fprintf (FILE, "%s", TYPE_ASM_OP); assemble_name (FILE, NAME); putc (',', FILE); fprintf (FILE, TYPE_OPERAND_FMT, "object"); putc ('\n', FILE); size_directive_output = 0; if (!flag_inhibit_size_directive && (DECL) && DECL_SIZE (DECL)) { size_directive_output = 1; fprintf (FILE, "%s", SIZE_ASM_OP); assemble_name (FILE, NAME); putc (',', FILE); fprintf (FILE, HOST_WIDE_INT_PRINT_DEC, int_size_in_bytes (TREE_TYPE (DECL))); fputc ('\n', FILE); } ASM_OUTPUT_LABEL (FILE, NAME); } while (0) # 507 "elfos.h" #define ASM_FINISH_DECLARE_OBJECT(FILE,DECL,TOP_LEVEL,AT_END) do { const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); if (!flag_inhibit_size_directive && DECL_SIZE (DECL) && ! AT_END && TOP_LEVEL && DECL_INITIAL (DECL) == error_mark_node && !size_directive_output) { size_directive_output = 1; fprintf (FILE, "%s", SIZE_ASM_OP); assemble_name (FILE, name); putc (',', FILE); fprintf (FILE, HOST_WIDE_INT_PRINT_DEC, int_size_in_bytes (TREE_TYPE (DECL))); fputc ('\n', FILE); } } while (0) # 531 "elfos.h" #define ASM_DECLARE_FUNCTION_SIZE(FILE,FNAME,DECL) do { if (!flag_inhibit_size_directive) { char label[256]; static int labelno; labelno++; ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); fprintf (FILE, "%s", SIZE_ASM_OP); assemble_name (FILE, (FNAME)); fprintf (FILE, ","); assemble_name (FILE, label); fprintf (FILE, "-"); assemble_name (FILE, (FNAME)); putc ('\n', FILE); } } while (0) # 570 "elfos.h" #define ESCAPES "\1\1\1\1\1\1\1\1btn\1fr\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1" # 592 "elfos.h" #define STRING_LIMIT ((unsigned) 256) #define STRING_ASM_OP "\t.string\t" # 603 "elfos.h" #define ASM_OUTPUT_LIMITED_STRING(FILE,STR) do { register const unsigned char *_limited_str = (const unsigned char *) (STR); register unsigned ch; fprintf ((FILE), "%s\"", STRING_ASM_OP); for (; (ch = *_limited_str); _limited_str++) { register int escape; switch (escape = ESCAPES[ch]) { case 0: putc (ch, (FILE)); break; case 1: fprintf ((FILE), "\\%03o", ch); break; default: putc ('\\', (FILE)); putc (escape, (FILE)); break; } } fprintf ((FILE), "\"\n"); } while (0) # 642 "elfos.h" #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(FILE,STR,LENGTH) do { register const unsigned char *_ascii_bytes = (const unsigned char *) (STR); register const unsigned char *limit = _ascii_bytes + (LENGTH); register unsigned bytes_in_chunk = 0; for (; _ascii_bytes < limit; _ascii_bytes++) { register const unsigned char *p; if (bytes_in_chunk >= 60) { fprintf ((FILE), "\"\n"); bytes_in_chunk = 0; } for (p = _ascii_bytes; p < limit && *p != '\0'; p++) continue; if (p < limit && (p - _ascii_bytes) <= (long)STRING_LIMIT) { if (bytes_in_chunk > 0) { fprintf ((FILE), "\"\n"); bytes_in_chunk = 0; } ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes); _ascii_bytes = p; } else { register int escape; register unsigned ch; if (bytes_in_chunk == 0) fprintf ((FILE), "%s\"", ASCII_DATA_ASM_OP); switch (escape = ESCAPES[ch = *_ascii_bytes]) { case 0: putc (ch, (FILE)); bytes_in_chunk++; break; case 1: fprintf ((FILE), "\\%03o", ch); bytes_in_chunk += 4; break; default: putc ('\\', (FILE)); putc (escape, (FILE)); bytes_in_chunk += 2; break; } } } if (bytes_in_chunk > 0) fprintf ((FILE), "\"\n"); } while (0) # 19 "config.h" 2 # 1 "svr4.h" 1 # 39 "svr4.h" #define USING_SVR4_H # 48 "svr4.h" #define SWITCH_TAKES_ARG(CHAR) (DEFAULT_SWITCH_TAKES_ARG (CHAR) || (CHAR) == 'h' || (CHAR) == 'x' || (CHAR) == 'z') # 57 "svr4.h" #define WORD_SWITCH_TAKES_ARG(STR) (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) && strcmp (STR, "Tdata") && strcmp (STR, "Ttext") && strcmp (STR, "Tbss")) # 66 "svr4.h" #undef CPP_PREDEFINES # 84 "svr4.h" #undef ASM_SPEC #define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}" # 96 "svr4.h" #undef ASM_FINAL_SPEC #define ASM_FINAL_SPEC "%|" #undef MD_EXEC_PREFIX #define MD_EXEC_PREFIX "/usr/ccs/bin/" #undef MD_STARTFILE_PREFIX #define MD_STARTFILE_PREFIX "/usr/ccs/lib/" #undef LIB_SPEC #define LIB_SPEC "%{!shared:%{!symbolic:-lc}}" #undef ENDFILE_SPEC #define ENDFILE_SPEC "crtend.o%s %{pg:gcrtn.o%s}%{!pg:crtn.o%s}" # 153 "svr4.h" #undef LINK_SPEC # 164 "svr4.h" #define LINK_SPEC "%{h*} %{v:-V} %{b} %{static:-dn -Bstatic} %{shared:-G -dy -z text} %{symbolic:-Bsymbolic -G -dy -z text} %{G:-G} %{YP,*} %{!YP,*:%{p:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} %{!p:-Y P,/usr/ccs/lib:/usr/lib}} %{Qy:} %{!Qn:-Qy}" # 187 "svr4.h" #undef STARTFILE_SPEC #define STARTFILE_SPEC "%{!shared: %{!symbolic: %{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}}} %{pg:gcrti.o%s}%{!pg:crti.o%s} %{ansi:values-Xc.o%s} %{!ansi: %{traditional:values-Xt.o%s} %{!traditional:values-Xa.o%s}} crtbegin.o%s" # 200 "svr4.h" #define SCCS_DIRECTIVE # 211 "svr4.h" #undef DBX_REGISTER_NUMBER #undef SIZE_TYPE #define SIZE_TYPE "unsigned int" #undef PTRDIFF_TYPE #define PTRDIFF_TYPE "int" #undef WCHAR_TYPE #define WCHAR_TYPE "long int" #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE BITS_PER_WORD #define TARGET_HAS_F_SETLKW # 20 "config.h" 2 # 1 "linux.h" 1 # 24 "linux.h" #define LINUX_DEFAULT_ELF #undef ASM_FILE_START #define ASM_FILE_START(FILE) do { output_file_directive (FILE, main_input_filename); if (ix86_asm_dialect == ASM_INTEL) fputs ("\t.intel_syntax\n", FILE); } while (0) #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (i386 Linux/ELF)"); #undef DEFAULT_PCC_STRUCT_RETURN #define DEFAULT_PCC_STRUCT_RETURN 1 #undef ASM_COMMENT_START #define ASM_COMMENT_START "#" #undef DBX_REGISTER_NUMBER #define DBX_REGISTER_NUMBER(n) (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n]) #define NO_PROFILE_COUNTERS #undef FUNCTION_PROFILER #define FUNCTION_PROFILER(FILE,LABELNO) { if (flag_pic) fprintf (FILE, "\tcall\t*mcount@GOT(%%ebx)\n"); else fprintf (FILE, "\tcall\tmcount\n"); } # 72 "linux.h" #undef TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER #define TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER false #undef SIZE_TYPE #define SIZE_TYPE "unsigned int" #undef PTRDIFF_TYPE #define PTRDIFF_TYPE "int" #undef WCHAR_TYPE #define WCHAR_TYPE "long int" #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE BITS_PER_WORD #undef CPP_PREDEFINES #define CPP_PREDEFINES "-D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -Asystem=posix" #undef CPP_SPEC #define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" #undef CC1_SPEC #define CC1_SPEC "%(cc1_cpu) %{profile:-p}" # 116 "linux.h" #undef LINK_SPEC # 136 "linux.h" #define LINK_SPEC "-m elf_i386 %{shared:-shared} %{!shared: %{!ibcs: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} %{static:-static}}}" # 150 "linux.h" #define ASM_OUTPUT_ALIGNED_BSS(FILE,DECL,NAME,SIZE,ALIGN) asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) # 160 "linux.h" #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) do { if ((LOG) != 0) { if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); } } while (0) # 189 "linux.h" #define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE,ENCODING,SIZE,ADDR,DONE) do { if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel) { fputs (ASM_LONG, FILE); assemble_name (FILE, XSTR (ADDR, 0)); fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); goto DONE; } } while (0) # 209 "linux.h" #define CRT_GET_RFIB_DATA(BASE) __asm__ ("call\t.LPR%=\n" ".LPR%=:\n\t" "popl\t%0\n\t" "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0" : "=d"(BASE)) # 228 "linux.h" #define MD_FALLBACK_FRAME_STATE_FOR(CONTEXT,FS,SUCCESS) do { unsigned char *pc_ = (CONTEXT)->ra; struct sigcontext *sc_; long new_cfa_; if (*(unsigned short *)(pc_+0) == 0xb858 && *(unsigned int *)(pc_+2) == 119 && *(unsigned short *)(pc_+6) == 0x80cd) sc_ = (CONTEXT)->cfa + 4; else if (*(unsigned char *)(pc_+0) == 0xb8 && *(unsigned int *)(pc_+1) == 173 && *(unsigned short *)(pc_+5) == 0x80cd) { struct rt_sigframe { int sig; struct siginfo *pinfo; void *puc; struct siginfo info; struct ucontext uc; } *rt_ = (CONTEXT)->cfa; sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext; } else break; new_cfa_ = sc_->esp; (FS)->cfa_how = CFA_REG_OFFSET; (FS)->cfa_reg = 4; (FS)->cfa_offset = new_cfa_ - (long) (CONTEXT)->cfa; (FS)->regs.reg[0].how = REG_SAVED_OFFSET; (FS)->regs.reg[0].loc.offset = (long)&sc_->eax - new_cfa_; (FS)->regs.reg[3].how = REG_SAVED_OFFSET; (FS)->regs.reg[3].loc.offset = (long)&sc_->ebx - new_cfa_; (FS)->regs.reg[1].how = REG_SAVED_OFFSET; (FS)->regs.reg[1].loc.offset = (long)&sc_->ecx - new_cfa_; (FS)->regs.reg[2].how = REG_SAVED_OFFSET; (FS)->regs.reg[2].loc.offset = (long)&sc_->edx - new_cfa_; (FS)->regs.reg[6].how = REG_SAVED_OFFSET; (FS)->regs.reg[6].loc.offset = (long)&sc_->esi - new_cfa_; (FS)->regs.reg[7].how = REG_SAVED_OFFSET; (FS)->regs.reg[7].loc.offset = (long)&sc_->edi - new_cfa_; (FS)->regs.reg[5].how = REG_SAVED_OFFSET; (FS)->regs.reg[5].loc.offset = (long)&sc_->ebp - new_cfa_; (FS)->regs.reg[8].how = REG_SAVED_OFFSET; (FS)->regs.reg[8].loc.offset = (long)&sc_->eip - new_cfa_; (FS)->retaddr_column = 8; goto SUCCESS; } while (0) # 21 "config.h" 2 # 1 "x86-64.h" 1 # 22 "x86-64.h" #undef ASM_COMMENT_START #define ASM_COMMENT_START "#" #undef DBX_REGISTER_NUMBER #define DBX_REGISTER_NUMBER(n) (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n]) #define NO_PROFILE_COUNTERS #undef FUNCTION_PROFILER #define FUNCTION_PROFILER(FILE,LABELNO) { if (TARGET_64BIT && flag_pic) fprintf (FILE, "\tcall\t*mcount@PLT\n"); else if (flag_pic) fprintf (FILE, "\tcall\t*mcount@GOT(%%ebx)\n"); else fprintf (FILE, "\tcall\tmcount\n"); } # 43 "x86-64.h" #undef SIZE_TYPE #define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int") #undef PTRDIFF_TYPE #define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int") #undef WCHAR_TYPE #define WCHAR_TYPE "int" #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 #undef CC1_SPEC #define CC1_SPEC "%(cc1_cpu) %{profile:-p}" #undef ASM_SPEC #define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} %{m32:--32}" #define ASM_OUTPUT_ALIGNED_BSS(FILE,DECL,NAME,SIZE,ALIGN) asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) # 76 "x86-64.h" #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) do { if ((LOG) != 0) { if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); } } while (0) # 88 "x86-64.h" #undef DWARF2_DEBUGGING_INFO #undef DWARF_DEBUGGING_INFO #define DWARF2_DEBUGGING_INFO #define DWARF2_UNWIND_INFO 1 #undef HAVE_AS_DWARF2_DEBUG_LINE #define HAVE_AS_DWARF2_DEBUG_LINE #undef PREFERRED_DEBUGGING_TYPE #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG # 22 "config.h" 2 # 1 "linux64.h" 1 # 22 "linux64.h" #define LINUX_DEFAULT_ELF #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (x86-64 Linux/ELF)"); #undef CPP_PREDEFINES #define CPP_PREDEFINES "-D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -Asystem(posix)" #undef CPP_SPEC #define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} %{!m32:-D__LONG_MAX__=9223372036854775807L}" # 41 "linux64.h" #undef LINK_SPEC #define LINK_SPEC "%{!m32:-m elf_x86_64 -Y P,/usr/lib64} %{m32:-m elf_i386} %{shared:-shared} %{!shared: %{!static: %{rdynamic:-export-dynamic} %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} %{static:-static}}" # 51 "linux64.h" #undef STARTFILE_SPEC #define STARTFILE_SPEC "%{m32:%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{static:crtbeginT.o%s} %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}} %{!m32:%{!shared: %{pg:/usr/lib64/gcrt1.o%s} %{!pg:%{p:/usr/lib64/gcrt1.o%s} %{!p:%{profile:/usr/lib64/gcrt1.o%s} %{!profile:/usr/lib64/crt1.o%s}}}} /usr/lib64/crti.o%s %{static:crtbeginT.o%s} %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}}" # 64 "linux64.h" #undef ENDFILE_SPEC #define ENDFILE_SPEC " %{m32:%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s} %{!m32:%{!shared:crtend.o%s} %{shared:crtendS.o%s} /usr/lib64/crtn.o%s}" #define MULTILIB_DEFAULTS { "m64" } # 140 "linux64.h" #undef MD_FALLBACK_FRAME_STATE_FOR #define MD_FALLBACK_FRAME_STATE_FOR(CONTEXT,FS,SUCCESS) do { unsigned char *pc_ = (CONTEXT)->ra; struct sigcontext *sc_; long new_cfa_; if (*(unsigned short *)(pc_+0) == 0xb858 && *(unsigned int *)(pc_+2) == 119 && *(unsigned short *)(pc_+6) == 0x80cd) sc_ = (CONTEXT)->cfa + 4; else if (*(unsigned char *)(pc_+0) == 0xb8 && *(unsigned int *)(pc_+1) == 173 && *(unsigned short *)(pc_+5) == 0x80cd) { struct rt_sigframe { int sig; struct siginfo *pinfo; void *puc; struct siginfo info; struct ucontext uc; } *rt_ = (CONTEXT)->cfa; sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext; } else break; new_cfa_ = sc_->esp; (FS)->cfa_how = CFA_REG_OFFSET; (FS)->cfa_reg = 4; (FS)->cfa_offset = new_cfa_ - (long) (CONTEXT)->cfa; (FS)->regs.reg[0].how = REG_SAVED_OFFSET; (FS)->regs.reg[0].loc.offset = (long)&sc_->eax - new_cfa_; (FS)->regs.reg[3].how = REG_SAVED_OFFSET; (FS)->regs.reg[3].loc.offset = (long)&sc_->ebx - new_cfa_; (FS)->regs.reg[1].how = REG_SAVED_OFFSET; (FS)->regs.reg[1].loc.offset = (long)&sc_->ecx - new_cfa_; (FS)->regs.reg[2].how = REG_SAVED_OFFSET; (FS)->regs.reg[2].loc.offset = (long)&sc_->edx - new_cfa_; (FS)->regs.reg[6].how = REG_SAVED_OFFSET; (FS)->regs.reg[6].loc.offset = (long)&sc_->esi - new_cfa_; (FS)->regs.reg[7].how = REG_SAVED_OFFSET; (FS)->regs.reg[7].loc.offset = (long)&sc_->edi - new_cfa_; (FS)->regs.reg[5].how = REG_SAVED_OFFSET; (FS)->regs.reg[5].loc.offset = (long)&sc_->ebp - new_cfa_; (FS)->regs.reg[8].how = REG_SAVED_OFFSET; (FS)->regs.reg[8].loc.offset = (long)&sc_->eip - new_cfa_; (FS)->retaddr_column = 8; goto SUCCESS; } while (0) # 23 "config.h" 2 # 1 "defaults.h" 1 # 24 "defaults.h" #define GCC_DEFAULTS_H #define TARGET_BELL 007 #define TARGET_BS 010 #define TARGET_TAB 011 #define TARGET_NEWLINE 012 #define TARGET_VT 013 #define TARGET_FF 014 #define TARGET_CR 015 #define TARGET_ESC 033 # 57 "defaults.h" #define ASM_STABD_OP "\t.stabd\t" # 73 "defaults.h" #define ASM_OUTPUT_ALTERNATE_LABEL_NAME(FILE,INSN) do { ASM_OUTPUT_LABEL(FILE,LABEL_ALTERNATE_NAME (INSN)); } while (0) # 120 "defaults.h" #define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) do { fprintf ((FILE), "%s", SET_ASM_OP); assemble_name (FILE, LABEL1); fprintf (FILE, ","); assemble_name (FILE, LABEL2); fprintf (FILE, "\n"); } while (0) # 133 "defaults.h" #define ASM_OUTPUT_LABELREF(FILE,NAME) asm_fprintf ((FILE), "%U%s", (NAME)) #define ASM_OUTPUT_DEBUG_LABEL(FILE,PREFIX,NUM) ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM) #define ASM_OUTPUT_WEAK_ALIAS(STREAM,NAME,VALUE) do { ASM_WEAKEN_LABEL (STREAM, NAME); if (VALUE) ASM_OUTPUT_DEF (STREAM, NAME, VALUE); } while (0) # 162 "defaults.h" #define SUPPORTS_WEAK 1 # 171 "defaults.h" #define SUPPORTS_ONE_ONLY 1 # 187 "defaults.h" #define TARGET_ATTRIBUTE_WEAK __attribute__ ((weak)) # 196 "defaults.h" #define SUPPORTS_INIT_PRIORITY 1 #define LINK_ELIMINATE_DUPLICATE_LDIRECTORIES 0 # 216 "defaults.h" #define EH_FRAME_SECTION_NAME ".eh_frame" # 225 "defaults.h" #define JCR_SECTION_NAME ".jcr" # 258 "defaults.h" #define DWARF2_GENERATE_TEXT_SECTION_LABEL 1 # 285 "defaults.h" #define CHAR_TYPE_SIZE BITS_PER_UNIT #define BOOL_TYPE_SIZE CHAR_TYPE_SIZE # 314 "defaults.h" #define WCHAR_UNSIGNED 0 # 342 "defaults.h" #define GCOV_TYPE_SIZE LONG_LONG_TYPE_SIZE #define CPLUSPLUS_CPP_SPEC CPP_SPEC # 380 "defaults.h" #define TARGET_VTABLE_USES_DESCRIPTORS 0 # 396 "defaults.h" #define TARGET_PTRMEMFUNC_VBIT_LOCATION (FUNCTION_BOUNDARY >= 2 * BITS_PER_UNIT ? ptrmemfunc_vbit_in_pfn : ptrmemfunc_vbit_in_delta) # 409 "defaults.h" #define DEFAULT_GDB_EXTENSIONS 1 # 455 "defaults.h" #define FUNCTION_ARG_REG_LITTLE_ENDIAN 0 #define MODE_BASE_REG_CLASS(MODE) BASE_REG_CLASS #define DEFAULT_USE_CXA_ATEXIT 0 # 24 "config.h" 2 #define POSIX # 1 "insn-constants.h" 1 #define GCC_INSN_CONSTANTS_H # 29 "config.h" 2 # 1 "insn-flags.h" 1 #define GCC_INSN_FLAGS_H #define HAVE_cmpdi_ccno_1_rex64 (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)) #define HAVE_cmpdi_1_insn_rex64 (TARGET_64BIT && ix86_match_ccmode (insn, CCmode)) #define HAVE_cmpqi_ext_3_insn (!TARGET_64BIT && ix86_match_ccmode (insn, CCmode)) #define HAVE_cmpqi_ext_3_insn_rex64 (TARGET_64BIT && ix86_match_ccmode (insn, CCmode)) #define HAVE_x86_fnstsw_1 (TARGET_80387) #define HAVE_x86_sahf_1 (!TARGET_64BIT) #define HAVE_popsi1 (!TARGET_64BIT) #define HAVE_movsi_insv_1 (!TARGET_64BIT) #define HAVE_pushdi2_rex64 (TARGET_64BIT) #define HAVE_popdi1 (TARGET_64BIT) #define HAVE_swapxf 1 #define HAVE_swaptf 1 #define HAVE_zero_extendhisi2_and (TARGET_ZERO_EXTEND_WITH_AND && !optimize_size) #define HAVE_zero_extendsidi2_32 (!TARGET_64BIT) #define HAVE_zero_extendsidi2_rex64 (TARGET_64BIT) #define HAVE_zero_extendhidi2 (TARGET_64BIT) #define HAVE_zero_extendqidi2 (TARGET_64BIT) #define HAVE_extendsidi2_rex64 (TARGET_64BIT) #define HAVE_extendhidi2 (TARGET_64BIT) #define HAVE_extendqidi2 (TARGET_64BIT) #define HAVE_extendhisi2 1 #define HAVE_extendqihi2 1 #define HAVE_extendqisi2 1 #define HAVE_truncdfsf2_3 (TARGET_80387) #define HAVE_truncdfsf2_sse_only (!TARGET_80387 && TARGET_SSE2) #define HAVE_fix_truncdi_nomemory (TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1])) && (!SSE_FLOAT_MODE_P (GET_MODE (operands[1])) || !TARGET_64BIT)) #define HAVE_fix_truncdi_memory (TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1])) && (!SSE_FLOAT_MODE_P (GET_MODE (operands[1])) || !TARGET_64BIT)) #define HAVE_fix_truncsfdi_sse (TARGET_64BIT && TARGET_SSE) #define HAVE_fix_truncdfdi_sse (TARGET_64BIT && TARGET_SSE2) #define HAVE_fix_truncsi_nomemory (TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1])) && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))) #define HAVE_fix_truncsi_memory (TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1])) && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))) #define HAVE_fix_truncsfsi_sse (TARGET_SSE) #define HAVE_fix_truncdfsi_sse (TARGET_SSE2) #define HAVE_fix_trunchi_nomemory (TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1])) && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))) #define HAVE_fix_trunchi_memory (TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1])) && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))) #define HAVE_x86_fnstcw_1 (TARGET_80387) #define HAVE_x86_fldcw_1 (TARGET_80387) #define HAVE_floathisf2 (TARGET_80387 && !TARGET_SSE) #define HAVE_floathidf2 (TARGET_80387 && !TARGET_SSE2) #define HAVE_floathixf2 (!TARGET_64BIT && TARGET_80387) #define HAVE_floathitf2 (TARGET_80387) #define HAVE_floatsixf2 (!TARGET_64BIT && TARGET_80387) #define HAVE_floatsitf2 (TARGET_80387) #define HAVE_floatdixf2 (!TARGET_64BIT && TARGET_80387) #define HAVE_floatditf2 (TARGET_80387) #define HAVE_addqi3_cc (ix86_binary_operator_ok (PLUS, QImode, operands)) #define HAVE_addsi_1_zext (TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)) #define HAVE_addqi_ext_1 (!TARGET_64BIT) #define HAVE_subdi3_carry_rex64 (TARGET_64BIT && ix86_binary_operator_ok (MINUS, DImode, operands)) #define HAVE_subsi3_carry (ix86_binary_operator_ok (MINUS, SImode, operands)) #define HAVE_subsi3_carry_zext (TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)) #define HAVE_divqi3 (TARGET_QIMODE_MATH) #define HAVE_udivqi3 (TARGET_QIMODE_MATH) #define HAVE_divmodhi4 (TARGET_HIMODE_MATH) #define HAVE_udivmoddi4 (TARGET_64BIT) #define HAVE_udivmodsi4 1 #define HAVE_testsi_1 (ix86_match_ccmode (insn, CCNOmode)) #define HAVE_andqi_ext_0 ((unsigned HOST_WIDE_INT)INTVAL (operands[2]) <= 0xff) #define HAVE_negsf2_memory (ix86_unary_operator_ok (NEG, SFmode, operands)) #define HAVE_negsf2_ifs (TARGET_SSE && (reload_in_progress || reload_completed || (register_operand (operands[0], VOIDmode) && register_operand (operands[1], VOIDmode)))) #define HAVE_negdf2_memory (ix86_unary_operator_ok (NEG, DFmode, operands)) #define HAVE_negdf2_ifs (!TARGET_64BIT && TARGET_SSE2 && (reload_in_progress || reload_completed || (register_operand (operands[0], VOIDmode) && register_operand (operands[1], VOIDmode)))) #define HAVE_abssf2_memory (ix86_unary_operator_ok (ABS, SFmode, operands)) #define HAVE_abssf2_ifs (TARGET_SSE && (reload_in_progress || reload_completed || (register_operand (operands[0], VOIDmode) && register_operand (operands[1], VOIDmode)))) #define HAVE_absdf2_memory (ix86_unary_operator_ok (ABS, DFmode, operands)) #define HAVE_absdf2_ifs (!TARGET_64BIT && TARGET_SSE2 && (reload_in_progress || reload_completed || (register_operand (operands[0], VOIDmode) && register_operand (operands[1], VOIDmode)))) #define HAVE_ashldi3_1 (!TARGET_64BIT && TARGET_CMOVE) #define HAVE_x86_shld_1 1 #define HAVE_ashrdi3_63_rex64 (TARGET_64BIT && INTVAL (operands[2]) == 63 && (TARGET_USE_CLTD || optimize_size) && ix86_binary_operator_ok (ASHIFTRT, DImode, operands)) #define HAVE_ashrdi3_1 (!TARGET_64BIT && TARGET_CMOVE) #define HAVE_x86_shrd_1 1 #define HAVE_ashrsi3_31 (INTVAL (operands[2]) == 31 && (TARGET_USE_CLTD || optimize_size) && ix86_binary_operator_ok (ASHIFTRT, SImode, operands)) #define HAVE_lshrdi3_1 (!TARGET_64BIT && TARGET_CMOVE) #define HAVE_setcc_2 1 #define HAVE_jump 1 #define HAVE_doloop_end_internal (!TARGET_64BIT && TARGET_USE_LOOP) #define HAVE_blockage 1 #define HAVE_return_internal (reload_completed) #define HAVE_return_pop_internal (reload_completed) #define HAVE_return_indirect_internal (reload_completed) #define HAVE_nop 1 #define HAVE_prologue_set_got (!TARGET_64BIT) #define HAVE_prologue_get_pc (!TARGET_64BIT) #define HAVE_eh_return_si (!TARGET_64BIT) #define HAVE_eh_return_di (TARGET_64BIT) #define HAVE_leave (!TARGET_64BIT) #define HAVE_leave_rex64 (TARGET_64BIT) #define HAVE_ffssi_1 1 #define HAVE_sqrtsf2_1 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && (TARGET_SSE_MATH && TARGET_MIX_SSE_I387)) #define HAVE_sqrtsf2_1_sse_only (TARGET_SSE_MATH && (!TARGET_80387 || !TARGET_MIX_SSE_I387)) #define HAVE_sqrtsf2_i387 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && !TARGET_SSE_MATH) #define HAVE_sqrtdf2_1 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && (TARGET_SSE2 && TARGET_SSE_MATH && TARGET_MIX_SSE_I387)) #define HAVE_sqrtdf2_1_sse_only (TARGET_SSE2 && TARGET_SSE_MATH && (!TARGET_80387 || !TARGET_MIX_SSE_I387)) #define HAVE_sqrtdf2_i387 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && (!TARGET_SSE2 || !TARGET_SSE_MATH)) #define HAVE_sqrtxf2 (!TARGET_64BIT && TARGET_80387 && !TARGET_NO_FANCY_MATH_387 && (TARGET_IEEE_FP || flag_unsafe_math_optimizations) ) #define HAVE_sqrttf2 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && (TARGET_IEEE_FP || flag_unsafe_math_optimizations) ) #define HAVE_sindf2 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && flag_unsafe_math_optimizations) #define HAVE_sinsf2 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && flag_unsafe_math_optimizations) #define HAVE_sinxf2 (!TARGET_64BIT && TARGET_80387 && !TARGET_NO_FANCY_MATH_387 && flag_unsafe_math_optimizations) #define HAVE_sintf2 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && flag_unsafe_math_optimizations) #define HAVE_cosdf2 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && flag_unsafe_math_optimizations) #define HAVE_cossf2 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && flag_unsafe_math_optimizations) #define HAVE_cosxf2 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && flag_unsafe_math_optimizations) #define HAVE_costf2 (! TARGET_NO_FANCY_MATH_387 && TARGET_80387 && flag_unsafe_math_optimizations) #define HAVE_cld 1 #define HAVE_strmovdi_rex_1 (TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strmovsi_1 (!TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strmovsi_rex_1 (TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strmovhi_1 (!TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strmovhi_rex_1 (TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strmovqi_1 (!TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strmovqi_rex_1 (TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_rep_movdi_rex64 (TARGET_64BIT) #define HAVE_rep_movsi (!TARGET_64BIT) #define HAVE_rep_movsi_rex64 (TARGET_64BIT) #define HAVE_rep_movqi (!TARGET_64BIT) #define HAVE_rep_movqi_rex64 (TARGET_64BIT) #define HAVE_strsetdi_rex_1 (TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strsetsi_1 (!TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strsetsi_rex_1 (TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strsethi_1 (!TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strsethi_rex_1 (TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strsetqi_1 (!TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_strsetqi_rex_1 (TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)) #define HAVE_rep_stosdi_rex64 (TARGET_64BIT) #define HAVE_rep_stossi (!TARGET_64BIT) #define HAVE_rep_stossi_rex64 (TARGET_64BIT) #define HAVE_rep_stosqi (!TARGET_64BIT) #define HAVE_rep_stosqi_rex64 (TARGET_64BIT) #define HAVE_cmpstrqi_nz_1 (!TARGET_64BIT) #define HAVE_cmpstrqi_nz_rex_1 (TARGET_64BIT) #define HAVE_cmpstrqi_1 (!TARGET_64BIT) #define HAVE_cmpstrqi_rex_1 (TARGET_64BIT) #define HAVE_strlenqi_1 (!TARGET_64BIT) #define HAVE_strlenqi_rex_1 (TARGET_64BIT) #define HAVE_x86_movdicc_0_m1_rex64 (TARGET_64BIT) #define HAVE_x86_movsicc_0_m1 1 #define HAVE_pro_epilogue_adjust_stack_rex64 (TARGET_64BIT) #define HAVE_sse_movsfcc (TARGET_SSE && (GET_CODE (operands[2]) != MEM || GET_CODE (operands[3]) != MEM) && (!TARGET_IEEE_FP || (GET_CODE (operands[1]) != EQ && GET_CODE (operands[1]) != NE))) #define HAVE_sse_movsfcc_eq (TARGET_SSE && (GET_CODE (operands[2]) != MEM || GET_CODE (operands[3]) != MEM)) #define HAVE_sse_movdfcc (TARGET_SSE2 && (GET_CODE (operands[2]) != MEM || GET_CODE (operands[3]) != MEM) && (!TARGET_IEEE_FP || (GET_CODE (operands[1]) != EQ && GET_CODE (operands[1]) != NE))) #define HAVE_sse_movdfcc_eq (TARGET_SSE && (GET_CODE (operands[2]) != MEM || GET_CODE (operands[3]) != MEM)) #define HAVE_allocate_stack_worker_1 (!TARGET_64BIT && TARGET_STACK_PROBE) #define HAVE_allocate_stack_worker_rex64 (TARGET_64BIT && TARGET_STACK_PROBE) #define HAVE_trap 1 #define HAVE_movv4sf_internal (TARGET_SSE) #define HAVE_movv4si_internal (TARGET_SSE) #define HAVE_movv8qi_internal (TARGET_MMX) #define HAVE_movv4hi_internal (TARGET_MMX) #define HAVE_movv2si_internal (TARGET_MMX) #define HAVE_movv2sf_internal (TARGET_3DNOW) #define HAVE_movti_internal (TARGET_SSE && !TARGET_64BIT) #define HAVE_sse_movaps (TARGET_SSE) #define HAVE_sse_movups (TARGET_SSE) #define HAVE_sse_movmskps (TARGET_SSE) #define HAVE_mmx_pmovmskb (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_mmx_maskmovq ((TARGET_SSE || TARGET_3DNOW_A) && !TARGET_64BIT) #define HAVE_mmx_maskmovq_rex ((TARGET_SSE || TARGET_3DNOW_A) && TARGET_64BIT) #define HAVE_sse_movntv4sf (TARGET_SSE) #define HAVE_sse_movntdi (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_sse_movhlps (TARGET_SSE) #define HAVE_sse_movlhps (TARGET_SSE) #define HAVE_sse_movhps (TARGET_SSE && (GET_CODE (operands[1]) == MEM || GET_CODE (operands[2]) == MEM)) #define HAVE_sse_movlps (TARGET_SSE && (GET_CODE (operands[1]) == MEM || GET_CODE (operands[2]) == MEM)) #define HAVE_sse_loadss (TARGET_SSE) #define HAVE_sse_movss (TARGET_SSE) #define HAVE_sse_storess (TARGET_SSE) #define HAVE_sse_shufps (TARGET_SSE) #define HAVE_addv4sf3 (TARGET_SSE) #define HAVE_vmaddv4sf3 (TARGET_SSE) #define HAVE_subv4sf3 (TARGET_SSE) #define HAVE_vmsubv4sf3 (TARGET_SSE) #define HAVE_mulv4sf3 (TARGET_SSE) #define HAVE_vmmulv4sf3 (TARGET_SSE) #define HAVE_divv4sf3 (TARGET_SSE) #define HAVE_vmdivv4sf3 (TARGET_SSE) #define HAVE_rcpv4sf2 (TARGET_SSE) #define HAVE_vmrcpv4sf2 (TARGET_SSE) #define HAVE_rsqrtv4sf2 (TARGET_SSE) #define HAVE_vmrsqrtv4sf2 (TARGET_SSE) #define HAVE_sqrtv4sf2 (TARGET_SSE) #define HAVE_vmsqrtv4sf2 (TARGET_SSE) #define HAVE_sse_andti3 (TARGET_SSE && !TARGET_SSE2 && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)) #define HAVE_sse_nandti3 (TARGET_SSE && !TARGET_SSE2) #define HAVE_sse_iorti3 (TARGET_SSE && !TARGET_SSE2 && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)) #define HAVE_sse_xorti3 (TARGET_SSE && !TARGET_SSE2 && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)) #define HAVE_sse_clrv4sf (TARGET_SSE) #define HAVE_maskcmpv4sf3 (TARGET_SSE) #define HAVE_maskncmpv4sf3 (TARGET_SSE) #define HAVE_vmmaskcmpv4sf3 (TARGET_SSE) #define HAVE_vmmaskncmpv4sf3 (TARGET_SSE) #define HAVE_sse_comi (TARGET_SSE) #define HAVE_sse_ucomi (TARGET_SSE) #define HAVE_sse_unpckhps (TARGET_SSE) #define HAVE_sse_unpcklps (TARGET_SSE) #define HAVE_smaxv4sf3 (TARGET_SSE) #define HAVE_vmsmaxv4sf3 (TARGET_SSE) #define HAVE_sminv4sf3 (TARGET_SSE) #define HAVE_vmsminv4sf3 (TARGET_SSE) #define HAVE_cvtpi2ps (TARGET_SSE) #define HAVE_cvtps2pi (TARGET_SSE) #define HAVE_cvttps2pi (TARGET_SSE) #define HAVE_cvtsi2ss (TARGET_SSE) #define HAVE_cvtss2si (TARGET_SSE) #define HAVE_cvttss2si (TARGET_SSE) #define HAVE_addv8qi3 (TARGET_MMX) #define HAVE_addv4hi3 (TARGET_MMX) #define HAVE_addv2si3 (TARGET_MMX) #define HAVE_ssaddv8qi3 (TARGET_MMX) #define HAVE_ssaddv4hi3 (TARGET_MMX) #define HAVE_usaddv8qi3 (TARGET_MMX) #define HAVE_usaddv4hi3 (TARGET_MMX) #define HAVE_subv8qi3 (TARGET_MMX) #define HAVE_subv4hi3 (TARGET_MMX) #define HAVE_subv2si3 (TARGET_MMX) #define HAVE_sssubv8qi3 (TARGET_MMX) #define HAVE_sssubv4hi3 (TARGET_MMX) #define HAVE_ussubv8qi3 (TARGET_MMX) #define HAVE_ussubv4hi3 (TARGET_MMX) #define HAVE_mulv4hi3 (TARGET_MMX) #define HAVE_smulv4hi3_highpart (TARGET_MMX) #define HAVE_umulv4hi3_highpart (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_mmx_pmaddwd (TARGET_MMX) #define HAVE_mmx_iordi3 (TARGET_MMX) #define HAVE_mmx_xordi3 (TARGET_MMX) #define HAVE_mmx_clrdi (TARGET_MMX) #define HAVE_mmx_anddi3 (TARGET_MMX) #define HAVE_mmx_nanddi3 (TARGET_MMX) #define HAVE_mmx_uavgv8qi3 (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_mmx_uavgv4hi3 (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_mmx_psadbw (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_mmx_pinsrw (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_mmx_pextrw (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_mmx_pshufw (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_eqv8qi3 (TARGET_MMX) #define HAVE_eqv4hi3 (TARGET_MMX) #define HAVE_eqv2si3 (TARGET_MMX) #define HAVE_gtv8qi3 (TARGET_MMX) #define HAVE_gtv4hi3 (TARGET_MMX) #define HAVE_gtv2si3 (TARGET_MMX) #define HAVE_umaxv8qi3 (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_smaxv4hi3 (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_uminv8qi3 (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_sminv4hi3 (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_ashrv4hi3 (TARGET_MMX) #define HAVE_ashrv2si3 (TARGET_MMX) #define HAVE_lshrv4hi3 (TARGET_MMX) #define HAVE_lshrv2si3 (TARGET_MMX) #define HAVE_mmx_lshrdi3 (TARGET_MMX) #define HAVE_ashlv4hi3 (TARGET_MMX) #define HAVE_ashlv2si3 (TARGET_MMX) #define HAVE_mmx_ashldi3 (TARGET_MMX) #define HAVE_mmx_packsswb (TARGET_MMX) #define HAVE_mmx_packssdw (TARGET_MMX) #define HAVE_mmx_packuswb (TARGET_MMX) #define HAVE_mmx_punpckhbw (TARGET_MMX) #define HAVE_mmx_punpckhwd (TARGET_MMX) #define HAVE_mmx_punpckhdq (TARGET_MMX) #define HAVE_mmx_punpcklbw (TARGET_MMX) #define HAVE_mmx_punpcklwd (TARGET_MMX) #define HAVE_mmx_punpckldq (TARGET_MMX) #define HAVE_emms (TARGET_MMX) #define HAVE_ldmxcsr (TARGET_MMX) #define HAVE_stmxcsr (TARGET_MMX) #define HAVE_addv2sf3 (TARGET_3DNOW) #define HAVE_subv2sf3 (TARGET_3DNOW) #define HAVE_subrv2sf3 (TARGET_3DNOW) #define HAVE_gtv2sf3 (TARGET_3DNOW) #define HAVE_gev2sf3 (TARGET_3DNOW) #define HAVE_eqv2sf3 (TARGET_3DNOW) #define HAVE_pfmaxv2sf3 (TARGET_3DNOW) #define HAVE_pfminv2sf3 (TARGET_3DNOW) #define HAVE_mulv2sf3 (TARGET_3DNOW) #define HAVE_femms (TARGET_3DNOW) #define HAVE_pf2id (TARGET_3DNOW) #define HAVE_pf2iw (TARGET_3DNOW_A) #define HAVE_pfacc (TARGET_3DNOW) #define HAVE_pfnacc (TARGET_3DNOW_A) #define HAVE_pfpnacc (TARGET_3DNOW_A) #define HAVE_pi2fw (TARGET_3DNOW_A) #define HAVE_floatv2si2 (TARGET_3DNOW) #define HAVE_pavgusb (TARGET_3DNOW) #define HAVE_pfrcpv2sf2 (TARGET_3DNOW) #define HAVE_pfrcpit1v2sf3 (TARGET_3DNOW) #define HAVE_pfrcpit2v2sf3 (TARGET_3DNOW) #define HAVE_pfrsqrtv2sf2 (TARGET_3DNOW) #define HAVE_pfrsqit1v2sf3 (TARGET_3DNOW) #define HAVE_pmulhrwv4hi3 (TARGET_3DNOW) #define HAVE_pswapdv2si2 (TARGET_3DNOW_A) #define HAVE_pswapdv2sf2 (TARGET_3DNOW_A) #define HAVE_cmpdi 1 #define HAVE_cmpsi 1 #define HAVE_cmphi 1 #define HAVE_cmpqi (TARGET_QIMODE_MATH) #define HAVE_cmpdi_1_rex64 (TARGET_64BIT) #define HAVE_cmpsi_1 1 #define HAVE_cmpqi_ext_3 1 #define HAVE_cmpxf (!TARGET_64BIT && TARGET_80387) #define HAVE_cmptf (TARGET_80387) #define HAVE_cmpdf (TARGET_80387 || TARGET_SSE2) #define HAVE_cmpsf (TARGET_80387 || TARGET_SSE) #define HAVE_movsi 1 #define HAVE_movhi 1 #define HAVE_movstricthi (! TARGET_PARTIAL_REG_STALL || optimize_size) #define HAVE_movqi 1 #define HAVE_reload_outqi 1 #define HAVE_movstrictqi (! TARGET_PARTIAL_REG_STALL) #define HAVE_movdi 1 #define HAVE_movsf 1 #define HAVE_movdf 1 #define HAVE_movxf (!TARGET_64BIT) #define HAVE_movtf 1 #define HAVE_zero_extendhisi2 1 #define HAVE_zero_extendqihi2 1 #define HAVE_zero_extendqisi2 1 #define HAVE_zero_extendsidi2 1 #define HAVE_extendsidi2 1 #define HAVE_extendsfdf2 (TARGET_80387 || TARGET_SSE2) #define HAVE_extendsfxf2 (!TARGET_64BIT && TARGET_80387) #define HAVE_extendsftf2 (TARGET_80387) #define HAVE_extenddfxf2 (!TARGET_64BIT && TARGET_80387) #define HAVE_extenddftf2 (TARGET_80387) #define HAVE_truncdfsf2 (TARGET_80387 || TARGET_SSE2) #define HAVE_truncxfsf2 (!TARGET_64BIT && TARGET_80387) #define HAVE_trunctfsf2 (TARGET_80387) #define HAVE_truncxfdf2 (!TARGET_64BIT && TARGET_80387) #define HAVE_trunctfdf2 (TARGET_80387) #define HAVE_fix_truncxfdi2 (!TARGET_64BIT && TARGET_80387) #define HAVE_fix_trunctfdi2 (TARGET_80387) #define HAVE_fix_truncdfdi2 (TARGET_80387 || (TARGET_SSE2 && TARGET_64BIT)) #define HAVE_fix_truncsfdi2 (TARGET_80387 || (TARGET_SSE && TARGET_64BIT)) #define HAVE_fix_truncxfsi2 (!TARGET_64BIT && TARGET_80387) #define HAVE_fix_trunctfsi2 (TARGET_80387) #define HAVE_fix_truncdfsi2 (TARGET_80387 || TARGET_SSE2) #define HAVE_fix_truncsfsi2 (TARGET_80387 || TARGET_SSE) #define HAVE_fix_truncxfhi2 (!TARGET_64BIT && TARGET_80387) #define HAVE_fix_trunctfhi2 (TARGET_80387) #define HAVE_fix_truncdfhi2 (TARGET_80387 && !TARGET_SSE2) #define HAVE_fix_truncsfhi2 (TARGET_80387 && !TARGET_SSE) #define HAVE_floatsisf2 (TARGET_SSE || TARGET_80387) #define HAVE_floatdisf2 ((TARGET_64BIT && TARGET_SSE) || TARGET_80387) #define HAVE_floatsidf2 (TARGET_80387 || TARGET_SSE2) #define HAVE_floatdidf2 ((TARGET_64BIT && TARGET_SSE2) || TARGET_80387) #define HAVE_adddi3 1 #define HAVE_addsi3 1 #define HAVE_addhi3 (TARGET_HIMODE_MATH) #define HAVE_addqi3 (TARGET_QIMODE_MATH) #define HAVE_addxf3 (!TARGET_64BIT && TARGET_80387) #define HAVE_addtf3 (TARGET_80387) #define HAVE_adddf3 (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)) #define HAVE_addsf3 (TARGET_80387 || TARGET_SSE_MATH) #define HAVE_subdi3 1 #define HAVE_subsi3 1 #define HAVE_subhi3 (TARGET_HIMODE_MATH) #define HAVE_subqi3 (TARGET_QIMODE_MATH) #define HAVE_subxf3 (!TARGET_64BIT && TARGET_80387) #define HAVE_subtf3 (TARGET_80387) #define HAVE_subdf3 (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)) #define HAVE_subsf3 (TARGET_80387 || TARGET_SSE_MATH) #define HAVE_muldi3 (TARGET_64BIT) #define HAVE_mulsi3 1 #define HAVE_mulhi3 (TARGET_HIMODE_MATH) #define HAVE_mulqi3 (TARGET_QIMODE_MATH) #define HAVE_umulqihi3 (TARGET_QIMODE_MATH) #define HAVE_mulqihi3 (TARGET_QIMODE_MATH) #define HAVE_umulditi3 (TARGET_64BIT) #define HAVE_umulsidi3 (!TARGET_64BIT) #define HAVE_mulditi3 (TARGET_64BIT) #define HAVE_mulsidi3 (!TARGET_64BIT) #define HAVE_umuldi3_highpart (TARGET_64BIT) #define HAVE_umulsi3_highpart 1 #define HAVE_smuldi3_highpart (TARGET_64BIT) #define HAVE_smulsi3_highpart 1 #define HAVE_mulxf3 (!TARGET_64BIT && TARGET_80387) #define HAVE_multf3 (TARGET_80387) #define HAVE_muldf3 (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)) #define HAVE_mulsf3 (TARGET_80387 || TARGET_SSE_MATH) #define HAVE_divxf3 (!TARGET_64BIT && TARGET_80387) #define HAVE_divtf3 (TARGET_80387) #define HAVE_divdf3 (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)) #define HAVE_divsf3 (TARGET_80387 || TARGET_SSE_MATH) #define HAVE_divmoddi4 (TARGET_64BIT) #define HAVE_divmodsi4 1 #define HAVE_udivmodhi4 (TARGET_HIMODE_MATH) #define HAVE_testsi_ccno_1 1 #define HAVE_testqi_ccz_1 1 #define HAVE_testqi_ext_ccno_0 1 #define HAVE_anddi3 (TARGET_64BIT) #define HAVE_andsi3 1 #define HAVE_andhi3 (TARGET_HIMODE_MATH) #define HAVE_andqi3 (TARGET_QIMODE_MATH) #define HAVE_iordi3 (TARGET_64BIT) #define HAVE_iorsi3 1 #define HAVE_iorhi3 (TARGET_HIMODE_MATH) #define HAVE_iorqi3 (TARGET_QIMODE_MATH) #define HAVE_xordi3 (TARGET_64BIT) #define HAVE_xorsi3 1 #define HAVE_xorhi3 (TARGET_HIMODE_MATH) #define HAVE_xorqi3 (TARGET_QIMODE_MATH) #define HAVE_xorqi_cc_ext_1 1 #define HAVE_negdi2 1 #define HAVE_negsi2 1 #define HAVE_neghi2 (TARGET_HIMODE_MATH) #define HAVE_negqi2 (TARGET_QIMODE_MATH) #define HAVE_negsf2 (TARGET_80387) #define HAVE_negdf2 (TARGET_80387) #define HAVE_negxf2 (!TARGET_64BIT && TARGET_80387) #define HAVE_negtf2 (TARGET_80387) #define HAVE_abssf2 (TARGET_80387) #define HAVE_absdf2 (TARGET_80387) #define HAVE_absxf2 (!TARGET_64BIT && TARGET_80387) #define HAVE_abstf2 (TARGET_80387) #define HAVE_one_cmpldi2 (TARGET_64BIT) #define HAVE_one_cmplsi2 1 #define HAVE_one_cmplhi2 (TARGET_HIMODE_MATH) #define HAVE_one_cmplqi2 (TARGET_QIMODE_MATH) #define HAVE_ashldi3 1 #define HAVE_x86_shift_adj_1 (TARGET_CMOVE) #define HAVE_x86_shift_adj_2 1 #define HAVE_ashlsi3 1 #define HAVE_ashlhi3 (TARGET_HIMODE_MATH) #define HAVE_ashlqi3 (TARGET_QIMODE_MATH) #define HAVE_ashrdi3 1 #define HAVE_x86_shift_adj_3 1 #define HAVE_ashrsi3 1 #define HAVE_ashrhi3 (TARGET_HIMODE_MATH) #define HAVE_ashrqi3 (TARGET_QIMODE_MATH) #define HAVE_lshrdi3 1 #define HAVE_lshrsi3 1 #define HAVE_lshrhi3 (TARGET_HIMODE_MATH) #define HAVE_lshrqi3 (TARGET_QIMODE_MATH) #define HAVE_rotldi3 (TARGET_64BIT) #define HAVE_rotlsi3 1 #define HAVE_rotlhi3 (TARGET_HIMODE_MATH) #define HAVE_rotlqi3 (TARGET_QIMODE_MATH) #define HAVE_rotrdi3 (TARGET_64BIT) #define HAVE_rotrsi3 1 #define HAVE_rotrhi3 (TARGET_HIMODE_MATH) #define HAVE_rotrqi3 (TARGET_QIMODE_MATH) #define HAVE_extv 1 #define HAVE_extzv 1 #define HAVE_insv 1 #define HAVE_seq 1 #define HAVE_sne 1 #define HAVE_sgt 1 #define HAVE_sgtu 1 #define HAVE_slt 1 #define HAVE_sltu 1 #define HAVE_sge 1 #define HAVE_sgeu 1 #define HAVE_sle 1 #define HAVE_sleu 1 #define HAVE_sunordered (TARGET_80387 || TARGET_SSE) #define HAVE_sordered (TARGET_80387) #define HAVE_suneq (TARGET_80387 || TARGET_SSE) #define HAVE_sunge (TARGET_80387 || TARGET_SSE) #define HAVE_sungt (TARGET_80387 || TARGET_SSE) #define HAVE_sunle (TARGET_80387 || TARGET_SSE) #define HAVE_sunlt (TARGET_80387 || TARGET_SSE) #define HAVE_sltgt (TARGET_80387 || TARGET_SSE) #define HAVE_beq 1 #define HAVE_bne 1 #define HAVE_bgt 1 #define HAVE_bgtu 1 #define HAVE_blt 1 #define HAVE_bltu 1 #define HAVE_bge 1 #define HAVE_bgeu 1 #define HAVE_ble 1 #define HAVE_bleu 1 #define HAVE_bunordered (TARGET_80387 || TARGET_SSE) #define HAVE_bordered (TARGET_80387 || TARGET_SSE) #define HAVE_buneq (TARGET_80387 || TARGET_SSE) #define HAVE_bunge (TARGET_80387 || TARGET_SSE) #define HAVE_bungt (TARGET_80387 || TARGET_SSE) #define HAVE_bunle (TARGET_80387 || TARGET_SSE) #define HAVE_bunlt (TARGET_80387 || TARGET_SSE) #define HAVE_bltgt (TARGET_80387 || TARGET_SSE) #define HAVE_indirect_jump 1 #define HAVE_tablejump 1 #define HAVE_doloop_end (!TARGET_64BIT && TARGET_USE_LOOP) #define HAVE_call_pop (!TARGET_64BIT) #define HAVE_call 1 #define HAVE_call_exp 1 #define HAVE_call_value_pop (!TARGET_64BIT) #define HAVE_call_value 1 #define HAVE_call_value_exp 1 #define HAVE_untyped_call 1 #define HAVE_return (ix86_can_use_return_insn_p ()) #define HAVE_prologue 1 #define HAVE_epilogue 1 #define HAVE_sibcall_epilogue 1 #define HAVE_eh_return 1 #define HAVE_ffssi2 1 #define HAVE_sqrtsf2 ((! TARGET_NO_FANCY_MATH_387 && TARGET_80387) || TARGET_SSE_MATH) #define HAVE_sqrtdf2 ((! TARGET_NO_FANCY_MATH_387 && TARGET_80387) || (TARGET_SSE2 && TARGET_SSE_MATH)) #define HAVE_movstrsi 1 #define HAVE_movstrdi (TARGET_64BIT) #define HAVE_strmovdi_rex64 (TARGET_64BIT) #define HAVE_strmovsi 1 #define HAVE_strmovsi_rex64 (TARGET_64BIT) #define HAVE_strmovhi 1 #define HAVE_strmovhi_rex64 (TARGET_64BIT) #define HAVE_strmovqi 1 #define HAVE_strmovqi_rex64 (TARGET_64BIT) #define HAVE_clrstrsi 1 #define HAVE_clrstrdi (TARGET_64BIT) #define HAVE_strsetdi_rex64 (TARGET_64BIT) #define HAVE_strsetsi 1 #define HAVE_strsetsi_rex64 (TARGET_64BIT) #define HAVE_strsethi 1 #define HAVE_strsethi_rex64 (TARGET_64BIT) #define HAVE_strsetqi 1 #define HAVE_strsetqi_rex64 (TARGET_64BIT) #define HAVE_cmpstrsi 1 #define HAVE_cmpintqi 1 #define HAVE_strlensi 1 #define HAVE_strlendi 1 #define HAVE_movdicc (TARGET_64BIT) #define HAVE_movsicc 1 #define HAVE_movhicc (TARGET_CMOVE && TARGET_HIMODE_MATH) #define HAVE_movsfcc (TARGET_CMOVE) #define HAVE_movdfcc (TARGET_CMOVE) #define HAVE_movxfcc (!TARGET_64BIT && TARGET_CMOVE) #define HAVE_movtfcc (TARGET_CMOVE) #define HAVE_minsf3 (TARGET_SSE) #define HAVE_mindf3 (TARGET_SSE2 && TARGET_SSE_MATH) #define HAVE_maxsf3 (TARGET_SSE) #define HAVE_maxdf3 (TARGET_SSE2 && TARGET_SSE_MATH) #define HAVE_pro_epilogue_adjust_stack 1 #define HAVE_allocate_stack_worker (TARGET_STACK_PROBE) #define HAVE_allocate_stack (TARGET_STACK_PROBE) #define HAVE_builtin_setjmp_receiver (!TARGET_64BIT && flag_pic) #define HAVE_conditional_trap 1 #define HAVE_movti (TARGET_SSE || TARGET_64BIT) #define HAVE_movv4sf (TARGET_SSE) #define HAVE_movv4si (TARGET_MMX) #define HAVE_movv2si (TARGET_MMX) #define HAVE_movv4hi (TARGET_MMX) #define HAVE_movv8qi (TARGET_MMX) #define HAVE_movv2sf (TARGET_3DNOW) #define HAVE_sfence (TARGET_SSE || TARGET_3DNOW_A) #define HAVE_sse_prologue_save (TARGET_64BIT) #define HAVE_prefetch (TARGET_PREFETCH_SSE || TARGET_3DNOW) struct rtx_def; extern struct rtx_def *gen_cmpdi_ccno_1_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpdi_1_insn_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpqi_ext_3_insn (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpqi_ext_3_insn_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_x86_fnstsw_1 (struct rtx_def *); extern struct rtx_def *gen_x86_sahf_1 (struct rtx_def *); extern struct rtx_def *gen_popsi1 (struct rtx_def *); extern struct rtx_def *gen_movsi_insv_1 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pushdi2_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_popdi1 (struct rtx_def *); extern struct rtx_def *gen_swapxf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_swaptf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_zero_extendhisi2_and (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_zero_extendsidi2_32 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_zero_extendsidi2_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_zero_extendhidi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_zero_extendqidi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendsidi2_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendhidi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendqidi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendhisi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendqihi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendqisi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_truncdfsf2_3 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_truncdfsf2_sse_only (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncdi_nomemory (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncdi_memory (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncsfdi_sse (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncdfdi_sse (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncsi_nomemory (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncsi_memory (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncsfsi_sse (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncdfsi_sse (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_trunchi_nomemory (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_trunchi_memory (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_x86_fnstcw_1 (struct rtx_def *); extern struct rtx_def *gen_x86_fldcw_1 (struct rtx_def *); extern struct rtx_def *gen_floathisf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floathidf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floathixf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floathitf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floatsixf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floatsitf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floatdixf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floatditf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addqi3_cc (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addsi_1_zext (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addqi_ext_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subdi3_carry_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subsi3_carry (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subsi3_carry_zext (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_divqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_udivqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_divmodhi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_udivmoddi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_udivmodsi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_testsi_1 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_andqi_ext_0 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negsf2_memory (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negsf2_ifs (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negdf2_memory (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negdf2_ifs (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_abssf2_memory (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_abssf2_ifs (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_absdf2_memory (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_absdf2_ifs (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashldi3_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_x86_shld_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashrdi3_63_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashrdi3_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_x86_shrd_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashrsi3_31 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_lshrdi3_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_setcc_2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_jump (struct rtx_def *); extern struct rtx_def *gen_doloop_end_internal (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_blockage (void); extern struct rtx_def *gen_return_internal (void); extern struct rtx_def *gen_return_pop_internal (struct rtx_def *); extern struct rtx_def *gen_return_indirect_internal (struct rtx_def *); extern struct rtx_def *gen_nop (void); extern struct rtx_def *gen_prologue_set_got (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_prologue_get_pc (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_eh_return_si (struct rtx_def *); extern struct rtx_def *gen_eh_return_di (struct rtx_def *); extern struct rtx_def *gen_leave (void); extern struct rtx_def *gen_leave_rex64 (void); extern struct rtx_def *gen_ffssi_1 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtsf2_1 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtsf2_1_sse_only (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtsf2_i387 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtdf2_1 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtdf2_1_sse_only (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtdf2_i387 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtxf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrttf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sindf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sinsf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sinxf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sintf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cosdf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cossf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cosxf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_costf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cld (void); extern struct rtx_def *gen_strmovdi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovsi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovsi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovhi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovhi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovqi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovqi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_movdi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_movsi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_movsi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_movqi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_movqi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetdi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetsi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetsi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsethi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsethi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetqi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetqi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_stosdi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_stossi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_stossi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_stosqi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rep_stosqi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpstrqi_nz_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpstrqi_nz_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpstrqi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpstrqi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strlenqi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strlenqi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_x86_movdicc_0_m1_rex64 (struct rtx_def *); extern struct rtx_def *gen_x86_movsicc_0_m1 (struct rtx_def *); extern struct rtx_def *gen_pro_epilogue_adjust_stack_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movsfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movsfcc_eq (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movdfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movdfcc_eq (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_allocate_stack_worker_1 (struct rtx_def *); extern struct rtx_def *gen_allocate_stack_worker_rex64 (struct rtx_def *); extern struct rtx_def *gen_trap (void); extern struct rtx_def *gen_movv4sf_internal (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv4si_internal (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv8qi_internal (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv4hi_internal (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv2si_internal (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv2sf_internal (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movti_internal (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movaps (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movups (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movmskps (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_pmovmskb (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_maskmovq (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_maskmovq_rex (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movntv4sf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movntdi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movhlps (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movlhps (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movhps (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movlps (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_loadss (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_movss (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_storess (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_shufps (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmaddv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmsubv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmmulv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_divv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmdivv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rcpv4sf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmrcpv4sf2 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rsqrtv4sf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmrsqrtv4sf2 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtv4sf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmsqrtv4sf2 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_andti3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_nandti3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_iorti3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_xorti3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_clrv4sf (struct rtx_def *); extern struct rtx_def *gen_maskcmpv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_maskncmpv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmmaskcmpv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmmaskncmpv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_comi (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_ucomi (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_unpckhps (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sse_unpcklps (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_smaxv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmsmaxv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sminv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_vmsminv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cvtpi2ps (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cvtps2pi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cvttps2pi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cvtsi2ss (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cvtss2si (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cvttss2si (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ssaddv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ssaddv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_usaddv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_usaddv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sssubv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sssubv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ussubv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ussubv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_smulv4hi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_umulv4hi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_pmaddwd (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_iordi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_xordi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_clrdi (struct rtx_def *); extern struct rtx_def *gen_mmx_anddi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_nanddi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_uavgv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_uavgv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_psadbw (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_pinsrw (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_pextrw (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_pshufw (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_eqv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_eqv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_eqv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_gtv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_gtv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_gtv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_umaxv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_smaxv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_uminv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sminv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashrv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashrv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_lshrv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_lshrv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_lshrdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashlv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashlv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_ashldi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_packsswb (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_packssdw (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_packuswb (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_punpckhbw (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_punpckhwd (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_punpckhdq (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_punpcklbw (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_punpcklwd (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mmx_punpckldq (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_emms (void); extern struct rtx_def *gen_ldmxcsr (struct rtx_def *); extern struct rtx_def *gen_stmxcsr (struct rtx_def *); extern struct rtx_def *gen_addv2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subv2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subrv2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_gtv2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_gev2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_eqv2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfmaxv2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfminv2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulv2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_femms (void); extern struct rtx_def *gen_pf2id (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pf2iw (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfacc (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfnacc (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfpnacc (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pi2fw (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floatv2si2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pavgusb (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfrcpv2sf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfrcpit1v2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfrcpit2v2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfrsqrtv2sf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pfrsqit1v2sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pmulhrwv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pswapdv2si2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pswapdv2sf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpdi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpsi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmphi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpqi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpdi_1_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpsi_1 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpqi_ext_3 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpxf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmptf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpdf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpsf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movsi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movhi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movstricthi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movqi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_reload_outqi (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movstrictqi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movdi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movsf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movdf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movxf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movtf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_zero_extendhisi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_zero_extendqihi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_zero_extendqisi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_zero_extendsidi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendsidi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendsfdf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendsfxf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extendsftf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extenddfxf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extenddftf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_truncdfsf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_truncxfsf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_trunctfsf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_truncxfdf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_trunctfdf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncxfdi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_trunctfdi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncdfdi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncsfdi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncxfsi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_trunctfsi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncdfsi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncsfsi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncxfhi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_trunctfhi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncdfhi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_fix_truncsfhi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floatsisf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floatdisf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floatsidf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_floatdidf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_adddi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addxf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addtf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_adddf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_addsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subxf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subtf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subdf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_subsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_muldi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_umulqihi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulqihi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_umulditi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_umulsidi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulditi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulsidi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_umuldi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_umulsi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_smuldi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_smulsi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulxf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_multf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_muldf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mulsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_divxf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_divtf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_divdf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_divsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_divmoddi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_divmodsi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_udivmodhi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_testsi_ccno_1 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_testqi_ccz_1 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_testqi_ext_ccno_0 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_anddi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_andsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_andhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_andqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_iordi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_iorsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_iorhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_iorqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_xordi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_xorsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_xorhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_xorqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_xorqi_cc_ext_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negdi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negsi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_neghi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negqi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negsf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negdf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negxf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_negtf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_abssf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_absdf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_absxf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_abstf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_one_cmpldi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_one_cmplsi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_one_cmplhi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_one_cmplqi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashldi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_x86_shift_adj_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_x86_shift_adj_2 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashlsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashlhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashlqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashrdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_x86_shift_adj_3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ashrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_lshrdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_lshrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_lshrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_lshrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rotldi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rotlsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rotlhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rotlqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rotrdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rotrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rotrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_rotrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_extzv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_insv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_seq (struct rtx_def *); extern struct rtx_def *gen_sne (struct rtx_def *); extern struct rtx_def *gen_sgt (struct rtx_def *); extern struct rtx_def *gen_sgtu (struct rtx_def *); extern struct rtx_def *gen_slt (struct rtx_def *); extern struct rtx_def *gen_sltu (struct rtx_def *); extern struct rtx_def *gen_sge (struct rtx_def *); extern struct rtx_def *gen_sgeu (struct rtx_def *); extern struct rtx_def *gen_sle (struct rtx_def *); extern struct rtx_def *gen_sleu (struct rtx_def *); extern struct rtx_def *gen_sunordered (struct rtx_def *); extern struct rtx_def *gen_sordered (struct rtx_def *); extern struct rtx_def *gen_suneq (struct rtx_def *); extern struct rtx_def *gen_sunge (struct rtx_def *); extern struct rtx_def *gen_sungt (struct rtx_def *); extern struct rtx_def *gen_sunle (struct rtx_def *); extern struct rtx_def *gen_sunlt (struct rtx_def *); extern struct rtx_def *gen_sltgt (struct rtx_def *); extern struct rtx_def *gen_beq (struct rtx_def *); extern struct rtx_def *gen_bne (struct rtx_def *); extern struct rtx_def *gen_bgt (struct rtx_def *); extern struct rtx_def *gen_bgtu (struct rtx_def *); extern struct rtx_def *gen_blt (struct rtx_def *); extern struct rtx_def *gen_bltu (struct rtx_def *); extern struct rtx_def *gen_bge (struct rtx_def *); extern struct rtx_def *gen_bgeu (struct rtx_def *); extern struct rtx_def *gen_ble (struct rtx_def *); extern struct rtx_def *gen_bleu (struct rtx_def *); extern struct rtx_def *gen_bunordered (struct rtx_def *); extern struct rtx_def *gen_bordered (struct rtx_def *); extern struct rtx_def *gen_buneq (struct rtx_def *); extern struct rtx_def *gen_bunge (struct rtx_def *); extern struct rtx_def *gen_bungt (struct rtx_def *); extern struct rtx_def *gen_bunle (struct rtx_def *); extern struct rtx_def *gen_bunlt (struct rtx_def *); extern struct rtx_def *gen_bltgt (struct rtx_def *); extern struct rtx_def *gen_indirect_jump (struct rtx_def *); extern struct rtx_def *gen_tablejump (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_doloop_end (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); #define GEN_CALL_POP(A,B,C,D) gen_call_pop ((A), (B), (C), (D)) extern struct rtx_def *gen_call_pop (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); #define GEN_CALL(A,B,C,D) gen_call ((A), (B), (C)) extern struct rtx_def *gen_call (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_call_exp (struct rtx_def *, struct rtx_def *); #define GEN_CALL_VALUE_POP(A,B,C,D,E) gen_call_value_pop ((A), (B), (C), (D), (E)) extern struct rtx_def *gen_call_value_pop (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); #define GEN_CALL_VALUE(A,B,C,D,E) gen_call_value ((A), (B), (C), (D)) extern struct rtx_def *gen_call_value (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_call_value_exp (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_untyped_call (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_return (void); extern struct rtx_def *gen_prologue (void); extern struct rtx_def *gen_epilogue (void); extern struct rtx_def *gen_sibcall_epilogue (void); extern struct rtx_def *gen_eh_return (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_ffssi2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtsf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sqrtdf2 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movstrsi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movstrdi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovdi_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovsi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovsi_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovhi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovhi_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovqi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strmovqi_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_clrstrsi (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_clrstrdi (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetdi_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetsi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetsi_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsethi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsethi_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetqi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strsetqi_rex64 (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpstrsi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_cmpintqi (struct rtx_def *); extern struct rtx_def *gen_strlensi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_strlendi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movdicc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movsicc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movhicc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movsfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movdfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movxfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movtfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_minsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_mindf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_maxsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_maxdf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_pro_epilogue_adjust_stack (struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_allocate_stack_worker (struct rtx_def *); extern struct rtx_def *gen_allocate_stack (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_builtin_setjmp_receiver (struct rtx_def *); extern struct rtx_def *gen_conditional_trap (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movti (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv4sf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv4si (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv2si (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv4hi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv8qi (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_movv2sf (struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_sfence (void); extern struct rtx_def *gen_sse_prologue_save (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *); extern struct rtx_def *gen_prefetch (struct rtx_def *, struct rtx_def *, struct rtx_def *); # 30 "config.h" 2 # 24 "regrename.c" 2 # 1 "system.h" 1 # 24 "system.h" #define GCC_SYSTEM_H #define GCCBUGURL "" # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stdarg.h" 1 3 4 # 31 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stdarg.h" 3 4 #define _STDARG_H #define _ANSI_STDARG_H_ #undef __need___va_list #define __GNUC_VA_LIST # 40 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 50 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stdarg.h" 3 4 #define va_start(v,l) __builtin_va_start(v,l) #define va_end(v) __builtin_va_end(v) #define va_arg(v,l) __builtin_va_arg(v,l) #define va_copy(d,s) __builtin_va_copy(d,s) #define __va_copy(d,s) __builtin_va_copy(d,s) # 103 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stdarg.h" 3 4 typedef __gnuc_va_list va_list; #define _VA_LIST_ #define _VA_LIST #define _VA_LIST_DEFINED #define _VA_LIST_T_H #define __va_list__ # 34 "system.h" 2 # 47 "system.h" # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 39 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #define _STDDEF_H #define _STDDEF_H_ #define _ANSI_STDDEF_H # 132 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #define _PTRDIFF_T #define _T_PTRDIFF_ #define _T_PTRDIFF #define __PTRDIFF_T #define _PTRDIFF_T_ #define _BSD_PTRDIFF_T_ #define ___int_ptrdiff_t_h #define _GCC_PTRDIFF_T #define _PTRDIFF_T_DECLARED #define __DEFINED_ptrdiff_t typedef long int ptrdiff_t; # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 185 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #define __size_t__ #define __SIZE_T__ #define _SIZE_T #define _SYS_SIZE_T_H #define _T_SIZE_ #define _T_SIZE #define __SIZE_T #define _SIZE_T_ #define _BSD_SIZE_T_ #define _SIZE_T_DEFINED_ #define _SIZE_T_DEFINED #define _BSD_SIZE_T_DEFINED_ #define _SIZE_T_DECLARED #define __DEFINED_size_t #define ___int_size_t_h #define _GCC_SIZE_T #define _SIZET_ #define __size_t typedef long unsigned int size_t; # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 267 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #define __wchar_t__ #define __WCHAR_T__ #define _WCHAR_T #define _T_WCHAR_ #define _T_WCHAR #define __WCHAR_T #define _WCHAR_T_ #define _BSD_WCHAR_T_ #define _WCHAR_T_DEFINED_ #define _WCHAR_T_DEFINED #define _WCHAR_T_H #define ___int_wchar_t_h #define __INT_WCHAR_T_H #define _GCC_WCHAR_T #define _WCHAR_T_DECLARED #define __DEFINED_wchar_t # 295 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef _BSD_WCHAR_T_ # 329 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 typedef int wchar_t; # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) #define _GCC_MAX_ALIGN_T typedef struct { long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); # 436 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 } max_align_t; # 48 "system.h" 2 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 #define _STDIO_H 1 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 31 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 1 3 4 # 19 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #define _FEATURES_H 1 # 127 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #undef __USE_ISOC11 #undef __USE_ISOC99 #undef __USE_ISOC95 #undef __USE_ISOCXX11 #undef __USE_POSIX #undef __USE_POSIX2 #undef __USE_POSIX199309 #undef __USE_POSIX199506 #undef __USE_XOPEN #undef __USE_XOPEN_EXTENDED #undef __USE_UNIX98 #undef __USE_XOPEN2K #undef __USE_XOPEN2KXSI #undef __USE_XOPEN2K8 #undef __USE_XOPEN2K8XSI #undef __USE_LARGEFILE #undef __USE_LARGEFILE64 #undef __USE_FILE_OFFSET64 #undef __USE_MISC #undef __USE_ATFILE #undef __USE_DYNAMIC_STACK_SIZE #undef __USE_GNU #undef __USE_FORTIFY_LEVEL #undef __KERNEL_STRICT_NAMES #undef __GLIBC_USE_ISOC2X #undef __GLIBC_USE_DEPRECATED_GETS #undef __GLIBC_USE_DEPRECATED_SCANF #undef __GLIBC_USE_C2X_STRTOL #define __KERNEL_STRICT_NAMES # 170 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) # 184 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #define __glibc_clang_prereq(maj,min) 0 #define __GLIBC_USE(F) __GLIBC_USE_ ## F # 203 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #undef _ISOC95_SOURCE #define _ISOC95_SOURCE 1 #undef _ISOC99_SOURCE #define _ISOC99_SOURCE 1 #undef _ISOC11_SOURCE #define _ISOC11_SOURCE 1 #undef _ISOC2X_SOURCE #define _ISOC2X_SOURCE 1 #undef _POSIX_SOURCE #define _POSIX_SOURCE 1 #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L #undef _XOPEN_SOURCE #define _XOPEN_SOURCE 700 #undef _XOPEN_SOURCE_EXTENDED #define _XOPEN_SOURCE_EXTENDED 1 #undef _LARGEFILE64_SOURCE #define _LARGEFILE64_SOURCE 1 #undef _DEFAULT_SOURCE #define _DEFAULT_SOURCE 1 #undef _ATFILE_SOURCE #define _ATFILE_SOURCE 1 #undef _DYNAMIC_STACK_SIZE_SOURCE #define _DYNAMIC_STACK_SIZE_SOURCE 1 # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #undef _DEFAULT_SOURCE #define _DEFAULT_SOURCE 1 #define __GLIBC_USE_ISOC2X 1 #define __USE_ISOC11 1 #define __USE_ISOC99 1 #define __USE_ISOC95 1 # 289 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #undef _POSIX_SOURCE #define _POSIX_SOURCE 1 #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L # 327 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #define __USE_POSIX 1 #define __USE_POSIX2 1 #define __USE_POSIX199309 1 #define __USE_POSIX199506 1 #define __USE_XOPEN2K 1 #undef __USE_ISOC95 #define __USE_ISOC95 1 #undef __USE_ISOC99 #define __USE_ISOC99 1 #define __USE_XOPEN2K8 1 #undef _ATFILE_SOURCE #define _ATFILE_SOURCE 1 #define __USE_XOPEN 1 #define __USE_XOPEN_EXTENDED 1 #define __USE_UNIX98 1 #undef _LARGEFILE_SOURCE #define _LARGEFILE_SOURCE 1 #define __USE_XOPEN2K8 1 #define __USE_XOPEN2K8XSI 1 #define __USE_XOPEN2K 1 #define __USE_XOPEN2KXSI 1 #undef __USE_ISOC95 #define __USE_ISOC95 1 #undef __USE_ISOC99 #define __USE_ISOC99 1 # 383 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #define __USE_LARGEFILE 1 #define __USE_LARGEFILE64 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features-time64.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features-time64.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 1 3 4 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 21 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features-time64.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/timesize.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/timesize.h" 3 4 #define __TIMESIZE 64 # 22 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features-time64.h" 2 3 4 # 395 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 2 3 4 #define __USE_MISC 1 #define __USE_ATFILE 1 #define __USE_DYNAMIC_STACK_SIZE 1 #define __USE_GNU 1 # 434 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #define __USE_FORTIFY_LEVEL 0 #define __GLIBC_USE_DEPRECATED_GETS 0 # 465 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #define __GLIBC_USE_DEPRECATED_SCANF 0 # 474 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #define __GLIBC_USE_C2X_STRTOL 1 # 489 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #undef __GNU_LIBRARY__ #define __GNU_LIBRARY__ 6 #define __GLIBC__ 2 #define __GLIBC_MINOR__ 38 #define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define _SYS_CDEFS_H 1 # 35 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #undef __P #undef __PMT # 45 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __glibc_has_attribute(attr) __has_attribute (attr) #define __glibc_has_builtin(name) __has_builtin (name) #define __glibc_has_extension(ext) __has_extension (ext) # 65 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __LEAF , __leaf__ #define __LEAF_ATTR __attribute__ ((__leaf__)) # 79 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __THROW __attribute__ ((__nothrow__ __LEAF)) #define __THROWNL __attribute__ ((__nothrow__)) #define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct #define __NTHNL(fct) __attribute__ ((__nothrow__)) fct # 102 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __COLD __attribute__ ((__cold__)) # 125 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __P(args) args #define __PMT(args) args #define __CONCAT(x,y) x ## y #define __STRING(x) #x #define __ptr_t void * #define __BEGIN_DECLS #define __END_DECLS #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) #define __bos0(ptr) __builtin_object_size (ptr, 0) #define __glibc_objsize0(__o) __bos0 (__o) #define __glibc_objsize(__o) __bos (__o) # 212 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __warnattr(msg) __attribute__((__warning__ (msg))) #define __errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg))) # 225 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __flexarr [] #define __glibc_c99_flexarr_available 1 # 256 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) #define __REDIRECT_NTH(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROW #define __REDIRECT_NTHNL(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROWNL #define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) #define __ASMNAME2(prefix,cname) __STRING (prefix) cname #define __REDIRECT_FORTIFY __REDIRECT #define __REDIRECT_FORTIFY_NTH __REDIRECT_NTH # 298 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_malloc__ __attribute__ ((__malloc__)) #define __attribute_alloc_size__(params) __attribute__ ((__alloc_size__ params)) # 315 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_alloc_align__(param) __attribute__ ((__alloc_align__ param)) # 325 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_pure__ __attribute__ ((__pure__)) #define __attribute_const__ __attribute__ ((__const__)) #define __attribute_maybe_unused__ __attribute__ ((__unused__)) # 347 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_used__ __attribute__ ((__used__)) #define __attribute_noinline__ __attribute__ ((__noinline__)) #define __attribute_deprecated__ __attribute__ ((__deprecated__)) # 366 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_deprecated_msg__(msg) __attribute__ ((__deprecated__ (msg))) # 379 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) # 389 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b))) # 401 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) #define __nonnull(params) __attribute_nonnull__ (params) #define __returns_nonnull __attribute__ ((__returns_nonnull__)) # 423 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__)) # 432 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __wur #undef __always_inline #define __always_inline __inline __attribute__ ((__always_inline__)) # 450 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_artificial__ __attribute__ ((__artificial__)) # 468 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) #define __extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__)) # 478 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __fortify_function __extern_always_inline __attribute_artificial__ #define __va_arg_pack() __builtin_va_arg_pack () #define __va_arg_pack_len() __builtin_va_arg_pack_len () # 512 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __restrict_arr __restrict # 527 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __glibc_unlikely(cond) __builtin_expect ((cond), 0) #define __glibc_likely(cond) __builtin_expect ((cond), 1) # 549 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_nonstring__ __attribute__ ((__nonstring__)) #undef __attribute_copy__ #define __attribute_copy__(arg) __attribute__ ((__copy__ (arg))) # 576 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 1 3 4 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 577 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/long-double.h" 1 3 4 # 21 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/long-double.h" 3 4 #define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 # 578 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 2 3 4 # 634 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __LDBL_REDIR1(name,proto,alias) name proto #define __LDBL_REDIR(name,proto) name proto #define __LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW #define __LDBL_REDIR_NTH(name,proto) name proto __THROW #define __LDBL_REDIR2_DECL(name) #define __LDBL_REDIR_DECL(name) #define __REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias) #define __REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias) # 653 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __glibc_macro_warning1(message) _Pragma (#message) #define __glibc_macro_warning(message) __glibc_macro_warning1 (GCC warning message) # 672 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __HAVE_GENERIC_SELECTION 1 # 683 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attr_access(x) __attribute__ ((__access__ x)) #define __fortified_attr_access(a,o,s) __attr_access ((a, o, s)) #define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) # 707 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attr_dealloc(dealloc,argno) __attribute__ ((__malloc__ (dealloc, argno))) #define __attr_dealloc_free __attr_dealloc (__builtin_free, 1) # 718 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/cdefs.h" 3 4 #define __attribute_returns_twice__ __attribute__ ((__returns_twice__)) # 504 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 2 3 4 # 519 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 3 4 #define __USE_EXTERN_INLINES 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/gnu/stubs.h" 1 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 1 3 4 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 6 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/gnu/stubs.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/gnu/stubs-lp64d.h" 1 3 4 # 10 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/gnu/stubs-lp64d.h" 3 4 #define __stub___compat_bdflush #define __stub___compat_create_module #define __stub___compat_get_kernel_syms #define __stub___compat_query_module #define __stub___compat_uselib #define __stub_chflags #define __stub_fchflags #define __stub_gtty #define __stub_revoke #define __stub_setlogin #define __stub_sigreturn #define __stub_stty # 12 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/gnu/stubs.h" 2 3 4 # 528 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/features.h" 2 3 4 # 34 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 2 3 4 #undef __GLIBC_USE_LIB_EXT2 #define __GLIBC_USE_LIB_EXT2 1 # 67 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_BFP_EXT #define __GLIBC_USE_IEC_60559_BFP_EXT 1 #undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X #define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_EXT #define __GLIBC_USE_IEC_60559_EXT 1 # 90 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X #define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_TYPES_EXT #define __GLIBC_USE_IEC_60559_TYPES_EXT 1 # 28 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 #define __need_size_t #define __need_NULL # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 34 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 #define __need___va_list # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types.h" 3 4 #define _BITS_TYPES_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 1 3 4 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 28 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/timesize.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/timesize.h" 3 4 #define __TIMESIZE 64 # 29 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef __int8_t __int_least8_t; typedef __uint8_t __uint_least8_t; typedef __int16_t __int_least16_t; typedef __uint16_t __uint_least16_t; typedef __int32_t __int_least32_t; typedef __uint32_t __uint_least32_t; typedef __int64_t __int_least64_t; typedef __uint64_t __uint_least64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; typedef long int __intmax_t; typedef unsigned long int __uintmax_t; # 109 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types.h" 3 4 #define __S16_TYPE short int #define __U16_TYPE unsigned short int #define __S32_TYPE int #define __U32_TYPE unsigned int #define __SLONGWORD_TYPE long int #define __ULONGWORD_TYPE unsigned long int # 128 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types.h" 3 4 #define __SQUAD_TYPE long int #define __UQUAD_TYPE unsigned long int #define __SWORD_TYPE long int #define __UWORD_TYPE unsigned long int #define __SLONG32_TYPE int #define __ULONG32_TYPE unsigned int #define __S64_TYPE long int #define __U64_TYPE unsigned long int #define __STD_TYPE typedef # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/typesizes.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/typesizes.h" 3 4 #define _BITS_TYPESIZES_H 1 # 40 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/typesizes.h" 3 4 #define __INO_T_TYPE __ULONGWORD_TYPE #define __OFF_T_TYPE __SLONGWORD_TYPE #define __RLIM_T_TYPE __ULONGWORD_TYPE #define __BLKCNT_T_TYPE __SLONGWORD_TYPE #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE #define __TIME_T_TYPE __SLONGWORD_TYPE #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE #define __DEV_T_TYPE __UQUAD_TYPE #define __UID_T_TYPE __U32_TYPE #define __GID_T_TYPE __U32_TYPE #define __INO64_T_TYPE __UQUAD_TYPE #define __MODE_T_TYPE __U32_TYPE #define __NLINK_T_TYPE __U32_TYPE #define __OFF64_T_TYPE __SQUAD_TYPE #define __PID_T_TYPE __S32_TYPE #define __RLIM64_T_TYPE __UQUAD_TYPE #define __BLKCNT64_T_TYPE __SQUAD_TYPE #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE #define __FSFILCNT64_T_TYPE __UQUAD_TYPE #define __FSWORD_T_TYPE __SWORD_TYPE #define __ID_T_TYPE __U32_TYPE #define __CLOCK_T_TYPE __SLONGWORD_TYPE #define __USECONDS_T_TYPE __U32_TYPE #define __SUSECONDS64_T_TYPE __SQUAD_TYPE #define __DADDR_T_TYPE __S32_TYPE #define __KEY_T_TYPE __S32_TYPE #define __CLOCKID_T_TYPE __S32_TYPE #define __TIMER_T_TYPE void * #define __BLKSIZE_T_TYPE __S32_TYPE #define __FSID_T_TYPE struct { int __val[2]; } #define __SSIZE_T_TYPE __SWORD_TYPE #define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE #define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE #define __CPU_MASK_TYPE __ULONGWORD_TYPE #define __OFF_T_MATCHES_OFF64_T 1 #define __INO_T_MATCHES_INO64_T 1 #define __RLIM_T_MATCHES_RLIM64_T 1 #define __STATFS_MATCHES_STATFS64 1 #define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64) # 104 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/typesizes.h" 3 4 #define __FD_SETSIZE 1024 # 142 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/time64.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/time64.h" 3 4 #define _BITS_TIME64_H 1 #define __TIME64_T_TYPE __TIME_T_TYPE # 143 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef long int __suseconds64_t; typedef int __daddr_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __fsword_t; typedef long int __ssize_t; typedef long int __syscall_slong_t; typedef unsigned long int __syscall_ulong_t; typedef __off64_t __loff_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; typedef int __sig_atomic_t; # 226 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types.h" 3 4 #undef __STD_TYPE # 39 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/__fpos_t.h" 1 3 4 #define _____fpos_t_defined 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/__mbstate_t.h" 1 3 4 #define ____mbstate_t_defined 1 # 13 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/__mbstate_t.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 6 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/__fpos_t.h" 2 3 4 typedef struct _G_fpos_t { __off_t __pos; __mbstate_t __state; } __fpos_t; # 40 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/__fpos64_t.h" 1 3 4 #define _____fpos64_t_defined 1 typedef struct _G_fpos64_t { __off64_t __pos; __mbstate_t __state; } __fpos64_t; # 41 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/__FILE.h" 1 3 4 #define ____FILE_defined 1 struct _IO_FILE; typedef struct _IO_FILE __FILE; # 42 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/FILE.h" 1 3 4 #define __FILE_defined 1 struct _IO_FILE; typedef struct _IO_FILE FILE; # 43 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_FILE.h" 1 3 4 # 19 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_FILE.h" 3 4 #define __struct_FILE_defined 1 # 35 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_FILE.h" 3 4 struct _IO_FILE; struct _IO_marker; struct _IO_codecvt; struct _IO_wide_data; typedef void _IO_lock_t; struct _IO_FILE { int _flags; char *_IO_read_ptr; char *_IO_read_end; char *_IO_read_base; char *_IO_write_base; char *_IO_write_ptr; char *_IO_write_end; char *_IO_buf_base; char *_IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; __off64_t _offset; struct _IO_codecvt *_codecvt; struct _IO_wide_data *_wide_data; struct _IO_FILE *_freeres_list; void *_freeres_buf; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; #define __getc_unlocked_body(_fp) (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++) #define __putc_unlocked_body(_ch,_fp) (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) #define _IO_EOF_SEEN 0x0010 #define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0) #define _IO_ERR_SEEN 0x0020 #define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0) #define _IO_USER_LOCK 0x8000 # 44 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 # 19 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/cookie_io_functions_t.h" 3 4 #define __cookie_io_functions_t_defined 1 typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, size_t __nbytes); typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); typedef int cookie_close_function_t (void *__cookie); typedef struct _IO_cookie_io_functions_t { cookie_read_function_t *read; cookie_write_function_t *write; cookie_seek_function_t *seek; cookie_close_function_t *close; } cookie_io_functions_t; # 47 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 # 63 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 typedef __off_t off_t; #define __off_t_defined typedef __off64_t off64_t; #define __off64_t_defined typedef __ssize_t ssize_t; #define __ssize_t_defined typedef __fpos_t fpos_t; typedef __fpos64_t fpos64_t; #define _IOFBF 0 #define _IOLBF 1 #define _IONBF 2 #define BUFSIZ 8192 #define EOF (-1) #define SEEK_SET 0 #define SEEK_CUR 1 #define SEEK_END 2 #define SEEK_DATA 3 #define SEEK_HOLE 4 #define P_tmpdir "/tmp" #define L_tmpnam 20 #define TMP_MAX 238328 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdio_lim.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdio_lim.h" 3 4 #define _BITS_STDIO_LIM_H 1 #define FILENAME_MAX 4096 # 129 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 #define L_ctermid 9 #define L_cuserid 9 #undef FOPEN_MAX #define FOPEN_MAX 16 #define _PRINTF_NAN_LEN_MAX 4 extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; #define stdin stdin #define stdout stdout #define stderr stderr extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); extern int renameat (int __oldfd, const char *__old, int __newfd, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); #define RENAME_NOREPLACE (1 << 0) #define RENAME_EXCHANGE (1 << 1) #define RENAME_WHITEOUT (1 << 2) extern int renameat2 (int __oldfd, const char *__old, int __newfd, const char *__new, unsigned int __flags) __attribute__ ((__nothrow__ , __leaf__)); extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); #undef __attr_dealloc_fclose #define __attr_dealloc_fclose __attr_dealloc (fclose, 1) extern FILE *tmpfile (void) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; # 205 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern FILE *tmpfile64 (void) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; # 227 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern char *tempnam (const char *__dir, const char *__pfx) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); extern int fflush (FILE *__stream); # 244 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 254 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fcloseall (void); # 263 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); # 288 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern FILE *fopen64 (const char *__restrict __filename, const char *__restrict __modes) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *freopen64 (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *fopencookie (void *__restrict __magic_cookie, const char *__restrict __modes, cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; # 333 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int fprintf (FILE *__restrict __stream, const char *__restrict __format, ...); extern int printf (const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) ; extern int __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) ; extern int scanf (const char *__restrict __format, ...) ; extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn.h" 3 4 #define _BITS_FLOATN_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/long-double.h" 1 3 4 # 21 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/long-double.h" 3 4 #define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn.h" 2 3 4 #define __HAVE_FLOAT128 1 # 40 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn.h" 3 4 #define __HAVE_DISTINCT_FLOAT128 0 #define __HAVE_FLOAT64X __HAVE_FLOAT128 #define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 # 62 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn.h" 3 4 #define __f128(x) x ##f128 # 71 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn.h" 3 4 #define __CFLOAT128 _Complex _Float128 # 95 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 1 3 4 # 21 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 3 4 #define _BITS_FLOATN_COMMON_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/long-double.h" 1 3 4 # 21 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/long-double.h" 3 4 #define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 2 3 4 # 34 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 3 4 #define __HAVE_FLOAT16 0 #define __HAVE_FLOAT32 1 #define __HAVE_FLOAT64 1 #define __HAVE_FLOAT32X 1 #define __HAVE_FLOAT128X 0 # 52 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 3 4 #define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16 #define __HAVE_DISTINCT_FLOAT32 0 #define __HAVE_DISTINCT_FLOAT64 0 #define __HAVE_DISTINCT_FLOAT32X 0 #define __HAVE_DISTINCT_FLOAT64X 0 #define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X #define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 && __LDBL_MANT_DIG__ != 113) #define __HAVE_FLOATN_NOT_TYPEDEF 1 # 93 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 3 4 #define __f32(x) x ##f32 # 105 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 3 4 #define __f64(x) x ##f64 #define __f32x(x) x ##f32x # 125 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 3 4 #define __f64x(x) x ##f64x # 151 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 3 4 #define __CFLOAT32 _Complex _Float32 # 163 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 3 4 #define __CFLOAT64 _Complex _Float64 #define __CFLOAT32X _Complex _Float32x # 183 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn-common.h" 3 4 #define __CFLOAT64X _Complex _Float64x # 96 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/floatn.h" 2 3 4 # 436 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc23_fscanf") ; extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc23_scanf") ; extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc23_sscanf") __attribute__ ((__nothrow__ , __leaf__)) ; # 486 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfscanf") __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vscanf") __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); # 571 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 596 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); # 607 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 623 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__access__ (__write_only__, 1, 2))); # 673 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__access__ (__write_only__, 1, 2))); # 690 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; extern int fputs (const char *__restrict __s, FILE *__restrict __stream); extern int puts (const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 749 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fputs_unlocked (const char *__restrict __s, FILE *__restrict __stream); # 760 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 794 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 818 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, const fpos_t *__pos); # 837 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) ; extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern void perror (const char *__s) __attribute__ ((__cold__)); extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; # 881 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int pclose (FILE *__stream); extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__write_only__, 1))); extern char *cuserid (char *__s) __attribute__ ((__access__ (__write_only__, 1))); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __format, __gnuc_va_list __args) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); # 943 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 extern int __uflow (FILE *); extern int __overflow (FILE *, int); # 960 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdio.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdio.h" 3 4 #define _BITS_STDIO_H 1 # 29 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdio.h" 3 4 #define __STDIO_INLINE __extern_inline # 38 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdio.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int vprintf (const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline __attribute__ ((__gnu_inline__)) int getchar (void) { return getc (stdin); } extern __inline __attribute__ ((__gnu_inline__)) int fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int putchar (int __c) { return putc (__c, stdout); } extern __inline __attribute__ ((__gnu_inline__)) int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x0010) != 0); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x0020) != 0); } # 147 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdio.h" 3 4 #define fread_unlocked(ptr,size,n,stream) (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) && (size_t) (size) * (size_t) (n) <= 8 && (size_t) (size) != 0) ? ({ char *__ptr = (char *) (ptr); FILE *__stream = (stream); size_t __cnt; for (__cnt = (size_t) (size) * (size_t) (n); __cnt > 0; --__cnt) { int __c = getc_unlocked (__stream); if (__c == EOF) break; *__ptr++ = __c; } ((size_t) (size) * (size_t) (n) - __cnt) / (size_t) (size); }) : (((__builtin_constant_p (size) && (size_t) (size) == 0) || (__builtin_constant_p (n) && (size_t) (n) == 0)) ? ((void) (ptr), (void) (stream), (void) (size), (void) (n), (size_t) 0) : fread_unlocked (ptr, size, n, stream)))) # 171 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdio.h" 3 4 #define fwrite_unlocked(ptr,size,n,stream) (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) && (size_t) (size) * (size_t) (n) <= 8 && (size_t) (size) != 0) ? ({ const char *__ptr = (const char *) (ptr); FILE *__stream = (stream); size_t __cnt; for (__cnt = (size_t) (size) * (size_t) (n); __cnt > 0; --__cnt) if (putc_unlocked (*__ptr++, __stream) == EOF) break; ((size_t) (size) * (size_t) (n) - __cnt) / (size_t) (size); }) : (((__builtin_constant_p (size) && (size_t) (size) == 0) || (__builtin_constant_p (n) && (size_t) (n) == 0)) ? ((void) (ptr), (void) (stream), (void) (size), (void) (n), (size_t) 0) : fwrite_unlocked (ptr, size, n, stream)))) # 193 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdio.h" 3 4 #undef __STDIO_INLINE # 961 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdio.h" 2 3 4 # 51 "system.h" 2 # 110 "system.h" # 1 "./safe-ctype.h" 1 # 36 "./safe-ctype.h" #define SAFE_CTYPE_H # 44 "./safe-ctype.h" enum { _sch_isblank = 0x0001, _sch_iscntrl = 0x0002, _sch_isdigit = 0x0004, _sch_islower = 0x0008, _sch_isprint = 0x0010, _sch_ispunct = 0x0020, _sch_isspace = 0x0040, _sch_isupper = 0x0080, _sch_isxdigit = 0x0100, _sch_isidst = 0x0200, _sch_isvsp = 0x0400, _sch_isnvsp = 0x0800, _sch_isalpha = _sch_isupper|_sch_islower, _sch_isalnum = _sch_isalpha|_sch_isdigit, _sch_isidnum = _sch_isidst|_sch_isdigit, _sch_isgraph = _sch_isalnum|_sch_ispunct, _sch_iscppsp = _sch_isvsp|_sch_isnvsp, _sch_isbasic = _sch_isprint|_sch_iscppsp }; extern const unsigned short _sch_istable[256]; #define _sch_test(c,bit) (_sch_istable[(c) & 0xff] & (unsigned short)(bit)) #define ISALPHA(c) _sch_test(c, _sch_isalpha) #define ISALNUM(c) _sch_test(c, _sch_isalnum) #define ISBLANK(c) _sch_test(c, _sch_isblank) #define ISCNTRL(c) _sch_test(c, _sch_iscntrl) #define ISDIGIT(c) _sch_test(c, _sch_isdigit) #define ISGRAPH(c) _sch_test(c, _sch_isgraph) #define ISLOWER(c) _sch_test(c, _sch_islower) #define ISPRINT(c) _sch_test(c, _sch_isprint) #define ISPUNCT(c) _sch_test(c, _sch_ispunct) #define ISSPACE(c) _sch_test(c, _sch_isspace) #define ISUPPER(c) _sch_test(c, _sch_isupper) #define ISXDIGIT(c) _sch_test(c, _sch_isxdigit) #define ISIDNUM(c) _sch_test(c, _sch_isidnum) #define ISIDST(c) _sch_test(c, _sch_isidst) #define IS_ISOBASIC(c) _sch_test(c, _sch_isbasic) #define IS_VSPACE(c) _sch_test(c, _sch_isvsp) #define IS_NVSPACE(c) _sch_test(c, _sch_isnvsp) #define IS_SPACE_OR_NUL(c) _sch_test(c, _sch_iscppsp) extern const unsigned char _sch_toupper[256]; extern const unsigned char _sch_tolower[256]; #define TOUPPER(c) _sch_toupper[(c) & 0xff] #define TOLOWER(c) _sch_tolower[(c) & 0xff] # 111 "system.h" 2 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 3 4 #define _SYS_TYPES_H 1 # 33 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; #define __u_char_defined typedef __loff_t loff_t; typedef __ino_t ino_t; #define __ino_t_defined typedef __ino64_t ino64_t; #define __ino64_t_defined typedef __dev_t dev_t; #define __dev_t_defined typedef __gid_t gid_t; #define __gid_t_defined typedef __mode_t mode_t; #define __mode_t_defined typedef __nlink_t nlink_t; #define __nlink_t_defined typedef __uid_t uid_t; #define __uid_t_defined # 97 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 3 4 typedef __pid_t pid_t; #define __pid_t_defined typedef __id_t id_t; #define __id_t_defined # 114 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 3 4 typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; #define __daddr_t_defined typedef __key_t key_t; #define __key_t_defined # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/clock_t.h" 1 3 4 #define __clock_t_defined 1 typedef __clock_t clock_t; # 127 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/clockid_t.h" 1 3 4 #define __clockid_t_defined 1 typedef __clockid_t clockid_t; # 129 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/time_t.h" 1 3 4 #define __time_t_defined 1 typedef __time_t time_t; # 130 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/timer_t.h" 1 3 4 #define __timer_t_defined 1 typedef __timer_t timer_t; # 131 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; #define __useconds_t_defined typedef __suseconds_t suseconds_t; #define __suseconds_t_defined #define __need_size_t # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 145 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdint-intn.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdint-intn.h" 3 4 #define _BITS_STDINT_INTN_H 1 typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; # 156 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 2 3 4 typedef __uint8_t u_int8_t; typedef __uint16_t u_int16_t; typedef __uint32_t u_int32_t; typedef __uint64_t u_int64_t; typedef int register_t __attribute__ ((__mode__ (__word__))); #define __BIT_TYPES_DEFINED__ 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/endian.h" 1 3 4 # 19 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/endian.h" 3 4 #define _ENDIAN_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/endian.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/endian.h" 3 4 #define _BITS_ENDIAN_H 1 # 30 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/endian.h" 3 4 #define __LITTLE_ENDIAN 1234 #define __BIG_ENDIAN 4321 #define __PDP_ENDIAN 3412 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/endianness.h" 1 3 4 #define _BITS_ENDIANNESS_H 1 #define __BYTE_ORDER __LITTLE_ENDIAN # 36 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/endian.h" 2 3 4 #define __FLOAT_WORD_ORDER __BYTE_ORDER #define __LONG_LONG_PAIR(HI,LO) LO, HI # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/endian.h" 2 3 4 #define LITTLE_ENDIAN __LITTLE_ENDIAN #define BIG_ENDIAN __BIG_ENDIAN #define PDP_ENDIAN __PDP_ENDIAN #define BYTE_ORDER __BYTE_ORDER # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/byteswap.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/byteswap.h" 3 4 #define _BITS_BYTESWAP_H 1 #define __bswap_constant_16(x) ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))) static __inline __uint16_t __bswap_16 (__uint16_t __bsx) { return __builtin_bswap16 (__bsx); } #define __bswap_constant_32(x) ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) static __inline __uint32_t __bswap_32 (__uint32_t __bsx) { return __builtin_bswap32 (__bsx); } #define __bswap_constant_64(x) ((((x) & 0xff00000000000000ull) >> 56) | (((x) & 0x00ff000000000000ull) >> 40) | (((x) & 0x0000ff0000000000ull) >> 24) | (((x) & 0x000000ff00000000ull) >> 8) | (((x) & 0x00000000ff000000ull) << 8) | (((x) & 0x0000000000ff0000ull) << 24) | (((x) & 0x000000000000ff00ull) << 40) | (((x) & 0x00000000000000ffull) << 56)) # 69 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/byteswap.h" 3 4 __extension__ static __inline __uint64_t __bswap_64 (__uint64_t __bsx) { return __builtin_bswap64 (__bsx); } # 36 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/endian.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/uintn-identity.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/uintn-identity.h" 3 4 #define _BITS_UINTN_IDENTITY_H 1 static __inline __uint16_t __uint16_identity (__uint16_t __x) { return __x; } static __inline __uint32_t __uint32_identity (__uint32_t __x) { return __x; } static __inline __uint64_t __uint64_identity (__uint64_t __x) { return __x; } # 37 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/endian.h" 2 3 4 #define htobe16(x) __bswap_16 (x) #define htole16(x) __uint16_identity (x) #define be16toh(x) __bswap_16 (x) #define le16toh(x) __uint16_identity (x) #define htobe32(x) __bswap_32 (x) #define htole32(x) __uint32_identity (x) #define be32toh(x) __bswap_32 (x) #define le32toh(x) __uint32_identity (x) #define htobe64(x) __bswap_64 (x) #define htole64(x) __uint64_identity (x) #define be64toh(x) __bswap_64 (x) #define le64toh(x) __uint64_identity (x) # 177 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 1 3 4 # 22 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 3 4 #define _SYS_SELECT_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/select.h" 1 3 4 # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/select.h" 3 4 #define __FD_ZERO(s) do { unsigned int __i; fd_set *__arr = (s); for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) __FDS_BITS (__arr)[__i] = 0; } while (0) #define __FD_SET(d,s) ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d))) #define __FD_CLR(d,s) ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d))) #define __FD_ISSET(d,s) ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0) # 31 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/sigset_t.h" 1 3 4 #define __sigset_t_defined 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/__sigset_t.h" 1 3 4 #define ____sigset_t_defined #define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 5 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/sigset_t.h" 2 3 4 typedef __sigset_t sigset_t; # 34 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_timeval.h" 1 3 4 #define __timeval_defined 1 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 38 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_timespec.h" 1 3 4 #define _STRUCT_TIMESPEC 1 struct timespec { __time_t tv_sec; __syscall_slong_t tv_nsec; # 31 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_timespec.h" 3 4 }; # 40 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 2 3 4 # 49 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; #undef __NFDBITS #define __NFDBITS (8 * (int) sizeof (__fd_mask)) #define __FD_ELT(d) ((d) / __NFDBITS) #define __FD_MASK(d) ((__fd_mask) (1UL << ((d) % __NFDBITS))) typedef struct { __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; #define __FDS_BITS(set) ((set)->fds_bits) } fd_set; #define FD_SETSIZE __FD_SETSIZE typedef __fd_mask fd_mask; #define NFDBITS __NFDBITS #define FD_SET(fd,fdsetp) __FD_SET (fd, fdsetp) #define FD_CLR(fd,fdsetp) __FD_CLR (fd, fdsetp) #define FD_ISSET(fd,fdsetp) __FD_ISSET (fd, fdsetp) #define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) # 102 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 127 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 153 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/select.h" 3 4 # 180 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; #define __blksize_t_defined typedef __blkcnt_t blkcnt_t; #define __blkcnt_t_defined typedef __fsblkcnt_t fsblkcnt_t; #define __fsblkcnt_t_defined typedef __fsfilcnt_t fsfilcnt_t; #define __fsfilcnt_t_defined # 219 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/pthreadtypes.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/pthreadtypes.h" 3 4 #define _BITS_PTHREADTYPES_COMMON_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/thread-shared-types.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/thread-shared-types.h" 3 4 #define _THREAD_SHARED_TYPES_H 1 # 44 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/pthreadtypes-arch.h" 1 3 4 # 21 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/pthreadtypes-arch.h" 3 4 #define _BITS_PTHREADTYPES_ARCH_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 1 3 4 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/pthreadtypes-arch.h" 2 3 4 #define __SIZEOF_PTHREAD_ATTR_T 56 #define __SIZEOF_PTHREAD_MUTEX_T 40 #define __SIZEOF_PTHREAD_RWLOCK_T 56 #define __SIZEOF_PTHREAD_BARRIER_T 32 #define __SIZEOF_PTHREAD_MUTEXATTR_T 4 #define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 #define __SIZEOF_PTHREAD_BARRIERATTR_T 4 #define __SIZEOF_PTHREAD_COND_T 48 #define __SIZEOF_PTHREAD_CONDATTR_T 4 #define __LOCK_ALIGNMENT #define __ONCE_ALIGNMENT # 45 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/thread-shared-types.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/atomic_wide_counter.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/atomic_wide_counter.h" 3 4 #define _BITS_ATOMIC_WIDE_COUNTER_H typedef union { __extension__ unsigned long long int __value64; struct { unsigned int __low; unsigned int __high; } __value32; } __atomic_wide_counter; # 47 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/thread-shared-types.h" 2 3 4 typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; # 76 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_mutex.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_mutex.h" 3 4 #define _THREAD_MUTEX_INTERNAL_H 1 struct __pthread_mutex_s { int __lock ; unsigned int __count; int __owner; unsigned int __nusers; # 58 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_mutex.h" 3 4 int __kind; int __spins; __pthread_list_t __list; #define __PTHREAD_MUTEX_HAVE_PREV 1 # 74 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_mutex.h" 3 4 }; #define __PTHREAD_MUTEX_INITIALIZER(__kind) 0, 0, 0, 0, __kind, 0, { 0, 0 } # 77 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/thread-shared-types.h" 2 3 4 # 89 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_rwlock.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_rwlock.h" 3 4 #define __RWLOCK_INTERNAL_H # 29 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_rwlock.h" 3 4 struct __pthread_rwlock_arch_t { unsigned int __readers; unsigned int __writers; unsigned int __wrphase_futex; unsigned int __writers_futex; unsigned int __pad3; unsigned int __pad4; # 45 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_rwlock.h" 3 4 unsigned char __flags; unsigned char __shared; unsigned char __pad1; unsigned char __pad2; int __cur_writer; }; #define __PTHREAD_RWLOCK_INITIALIZER(__flags) 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 # 90 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/thread-shared-types.h" 2 3 4 struct __pthread_cond_s { __atomic_wide_counter __wseq; __atomic_wide_counter __g1_start; unsigned int __g_refs[2] ; unsigned int __g_size[2]; unsigned int __g1_orig_size; unsigned int __wrefs; unsigned int __g_signals[2]; }; typedef unsigned int __tss_t; typedef unsigned long int __thrd_t; typedef struct { int __data ; } __once_flag; #define __ONCE_FLAG_INIT { 0 } # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/pthreadtypes.h" 2 3 4 typedef unsigned long int pthread_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; union pthread_attr_t { char __size[56]; long int __align; }; typedef union pthread_attr_t pthread_attr_t; #define __have_pthread_attr_t 1 typedef union { struct __pthread_mutex_s __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { struct __pthread_cond_s __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { struct __pthread_rwlock_arch_t __data; char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 228 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/types.h" 2 3 4 # 113 "system.h" 2 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/errno.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/errno.h" 3 4 #define _ERRNO_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/errno.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/errno.h" 3 4 #define _BITS_ERRNO_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/errno.h" 1 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm/errno.h" 1 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/errno.h" 1 3 4 #define _ASM_GENERIC_ERRNO_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/errno-base.h" 1 3 4 #define _ASM_GENERIC_ERRNO_BASE_H #define EPERM 1 #define ENOENT 2 #define ESRCH 3 #define EINTR 4 #define EIO 5 #define ENXIO 6 #define E2BIG 7 #define ENOEXEC 8 #define EBADF 9 #define ECHILD 10 #define EAGAIN 11 #define ENOMEM 12 #define EACCES 13 #define EFAULT 14 #define ENOTBLK 15 #define EBUSY 16 #define EEXIST 17 #define EXDEV 18 #define ENODEV 19 #define ENOTDIR 20 #define EISDIR 21 #define EINVAL 22 #define ENFILE 23 #define EMFILE 24 #define ENOTTY 25 #define ETXTBSY 26 #define EFBIG 27 #define ENOSPC 28 #define ESPIPE 29 #define EROFS 30 #define EMLINK 31 #define EPIPE 32 #define EDOM 33 #define ERANGE 34 # 6 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/errno.h" 2 3 4 #define EDEADLK 35 #define ENAMETOOLONG 36 #define ENOLCK 37 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/errno.h" 3 4 #define ENOSYS 38 #define ENOTEMPTY 39 #define ELOOP 40 #define EWOULDBLOCK EAGAIN #define ENOMSG 42 #define EIDRM 43 #define ECHRNG 44 #define EL2NSYNC 45 #define EL3HLT 46 #define EL3RST 47 #define ELNRNG 48 #define EUNATCH 49 #define ENOCSI 50 #define EL2HLT 51 #define EBADE 52 #define EBADR 53 #define EXFULL 54 #define ENOANO 55 #define EBADRQC 56 #define EBADSLT 57 #define EDEADLOCK EDEADLK #define EBFONT 59 #define ENOSTR 60 #define ENODATA 61 #define ETIME 62 #define ENOSR 63 #define ENONET 64 #define ENOPKG 65 #define EREMOTE 66 #define ENOLINK 67 #define EADV 68 #define ESRMNT 69 #define ECOMM 70 #define EPROTO 71 #define EMULTIHOP 72 #define EDOTDOT 73 #define EBADMSG 74 #define EOVERFLOW 75 #define ENOTUNIQ 76 #define EBADFD 77 #define EREMCHG 78 #define ELIBACC 79 #define ELIBBAD 80 #define ELIBSCN 81 #define ELIBMAX 82 #define ELIBEXEC 83 #define EILSEQ 84 #define ERESTART 85 #define ESTRPIPE 86 #define EUSERS 87 #define ENOTSOCK 88 #define EDESTADDRREQ 89 #define EMSGSIZE 90 #define EPROTOTYPE 91 #define ENOPROTOOPT 92 #define EPROTONOSUPPORT 93 #define ESOCKTNOSUPPORT 94 #define EOPNOTSUPP 95 #define EPFNOSUPPORT 96 #define EAFNOSUPPORT 97 #define EADDRINUSE 98 #define EADDRNOTAVAIL 99 #define ENETDOWN 100 #define ENETUNREACH 101 #define ENETRESET 102 #define ECONNABORTED 103 #define ECONNRESET 104 #define ENOBUFS 105 #define EISCONN 106 #define ENOTCONN 107 #define ESHUTDOWN 108 #define ETOOMANYREFS 109 #define ETIMEDOUT 110 #define ECONNREFUSED 111 #define EHOSTDOWN 112 #define EHOSTUNREACH 113 #define EALREADY 114 #define EINPROGRESS 115 #define ESTALE 116 #define EUCLEAN 117 #define ENOTNAM 118 #define ENAVAIL 119 #define EISNAM 120 #define EREMOTEIO 121 #define EDQUOT 122 #define ENOMEDIUM 123 #define EMEDIUMTYPE 124 #define ECANCELED 125 #define ENOKEY 126 #define EKEYEXPIRED 127 #define EKEYREVOKED 128 #define EKEYREJECTED 129 #define EOWNERDEAD 130 #define ENOTRECOVERABLE 131 #define ERFKILL 132 #define EHWPOISON 133 # 2 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm/errno.h" 2 3 4 # 2 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/errno.h" 2 3 4 # 27 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/errno.h" 2 3 4 #define ENOTSUP EOPNOTSUPP # 29 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/errno.h" 2 3 4 extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); #define errno (*__errno_location ()) extern char *program_invocation_name; extern char *program_invocation_short_name; # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/error_t.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/error_t.h" 3 4 #define __error_t_defined 1 typedef int error_t; # 49 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/errno.h" 2 3 4 # 115 "system.h" 2 # 125 "system.h" # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 #define _STRING_H 1 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 31 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #undef __GLIBC_USE_LIB_EXT2 #define __GLIBC_USE_LIB_EXT2 1 # 67 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_BFP_EXT #define __GLIBC_USE_IEC_60559_BFP_EXT 1 #undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X #define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_EXT #define __GLIBC_USE_IEC_60559_EXT 1 # 90 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X #define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_TYPES_EXT #define __GLIBC_USE_IEC_60559_TYPES_EXT 1 # 27 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 2 3 4 #define __need_size_t #define __need_NULL # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 34 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 2 3 4 # 43 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern void *memcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, const void *__src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 80 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 107 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern void *memchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 120 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern void *rawmemchr (const void *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 133 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern void *memrchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__read_only__, 1, 3))); extern char *strcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/locale_t.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/locale_t.h" 3 4 #define _BITS_TYPES_LOCALE_T_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/__locale_t.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/__locale_t.h" 3 4 #define _BITS_TYPES___LOCALE_T_H 1 struct __locale_struct { struct __locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; }; typedef struct __locale_struct *__locale_t; # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/locale_t.h" 2 3 4 typedef __locale_t locale_t; # 173 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 2 3 4 extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) __attribute__ ((__access__ (__write_only__, 1, 3))); extern char *strdup (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (const char *__string, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); #define strdupa(s) (__extension__ ({ const char *__old = (s); size_t __len = strlen (__old) + 1; char *__new = (char *) __builtin_alloca (__len); (char *) memcpy (__new, __old, __len); })) # 211 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 #define strndupa(s,n) (__extension__ ({ const char *__old = (s); size_t __len = strnlen (__old, (n)); char *__new = (char *) __builtin_alloca (__len + 1); __new[__len] = '\0'; (char *) memcpy (__new, __old, __len); })) # 246 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern char *strchr (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 273 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern char *strrchr (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 286 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern char *strchrnul (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strcspn (const char *__s, const char *__reject) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (const char *__s, const char *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 323 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern char *strpbrk (const char *__s, const char *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 350 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern char *strstr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, const char *__restrict __delim) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 380 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern char *strcasestr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmem (const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__access__ (__read_only__, 1, 2))) __attribute__ ((__access__ (__read_only__, 3, 4))); extern void *__mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (const char *__string, size_t __maxlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); # 444 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern const char *strerrordesc_np (int __err) __attribute__ ((__nothrow__ , __leaf__)); extern const char *strerrorname_np (int __err) __attribute__ ((__nothrow__ , __leaf__)); extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/strings.h" 1 3 4 # 19 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/strings.h" 3 4 #define _STRINGS_H 1 #define __need_size_t # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/strings.h" 2 3 4 extern int bcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void bcopy (const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 68 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/strings.h" 3 4 extern char *index (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 96 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/strings.h" 3 4 extern char *rindex (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int strcasecmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int strncasecmp_l (const char *__s1, const char *__s2, size_t __n, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); # 463 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 2 3 4 extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2))); extern char *strsep (char **__restrict __stringp, const char *__restrict __delim) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern const char *sigabbrev_np (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern const char *sigdescr_np (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strlcpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); extern size_t strlcat (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); extern int strverscmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strfry (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__read_write__, 1, 2))); # 540 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 extern char *basename (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 552 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/string.h" 3 4 # 126 "system.h" 2 # 134 "system.h" # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 1 3 4 # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 31 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #undef __GLIBC_USE_LIB_EXT2 #define __GLIBC_USE_LIB_EXT2 1 # 67 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_BFP_EXT #define __GLIBC_USE_IEC_60559_BFP_EXT 1 #undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X #define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_EXT #define __GLIBC_USE_IEC_60559_EXT 1 # 90 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X #define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_TYPES_EXT #define __GLIBC_USE_IEC_60559_TYPES_EXT 1 # 27 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 2 3 4 #define __need_size_t #define __need_wchar_t #define __need_NULL # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 33 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 2 3 4 #define _STDLIB_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/waitflags.h" 1 3 4 # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/waitflags.h" 3 4 #define WNOHANG 1 #define WUNTRACED 2 #define WSTOPPED 2 #define WEXITED 4 #define WCONTINUED 8 #define WNOWAIT 0x01000000 #define __WNOTHREAD 0x20000000 #define __WALL 0x40000000 #define __WCLONE 0x80000000 # 41 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/waitstatus.h" 1 3 4 # 28 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/waitstatus.h" 3 4 #define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) #define __WTERMSIG(status) ((status) & 0x7f) #define __WSTOPSIG(status) __WEXITSTATUS(status) #define __WIFEXITED(status) (__WTERMSIG(status) == 0) #define __WIFSIGNALED(status) (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) #define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) #define __WIFCONTINUED(status) ((status) == __W_CONTINUED) #define __WCOREDUMP(status) ((status) & __WCOREFLAG) #define __W_EXITCODE(ret,sig) ((ret) << 8 | (sig)) #define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) #define __W_CONTINUED 0xffff #define __WCOREFLAG 0x80 # 42 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 2 3 4 #define WEXITSTATUS(status) __WEXITSTATUS (status) #define WTERMSIG(status) __WTERMSIG (status) #define WSTOPSIG(status) __WSTOPSIG (status) #define WIFEXITED(status) __WIFEXITED (status) #define WIFSIGNALED(status) __WIFSIGNALED (status) #define WIFSTOPPED(status) __WIFSTOPPED (status) #define WIFCONTINUED(status) __WIFCONTINUED (status) typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; #define __ldiv_t_defined 1 __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; #define __lldiv_t_defined 1 #define RAND_MAX 2147483647 #define EXIT_FAILURE 1 #define EXIT_SUCCESS 0 #define MB_CUR_MAX (__ctype_get_mb_cur_max ()) extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; extern double atof (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern float strtof (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long double strtold (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 141 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern _Float32 strtof32 (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern _Float64 strtof64 (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern _Float128 strtof128 (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern _Float32x strtof32x (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern _Float64x strtof64x (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 177 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) __asm__ ("" "__isoc23_strtol") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) __asm__ ("" "__isoc23_strtoul") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __asm__ ("" "__isoc23_strtoll") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __asm__ ("" "__isoc23_strtoull") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) __asm__ ("" "__isoc23_strtoll") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) __asm__ ("" "__isoc23_strtoull") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 278 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int strfromd (char *__dest, size_t __size, const char *__format, double __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf (char *__dest, size_t __size, const char *__format, float __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfroml (char *__dest, size_t __size, const char *__format, long double __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); # 298 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int strfromf32 (char *__dest, size_t __size, const char * __format, _Float32 __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf64 (char *__dest, size_t __size, const char * __format, _Float64 __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf128 (char *__dest, size_t __size, const char * __format, _Float128 __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf32x (char *__dest, size_t __size, const char * __format, _Float32x __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf64x (char *__dest, size_t __size, const char * __format, _Float64x __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); # 340 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __asm__ ("" "__isoc23_strtol_l") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __asm__ ("" "__isoc23_strtoul_l") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __asm__ ("" "__isoc23_strtoll_l") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __asm__ ("" "__isoc23_strtoull_l") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); # 415 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern float strtof_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern long double strtold_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); # 436 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern _Float32 strtof32_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern _Float64 strtof64_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern _Float128 strtof128_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern _Float32x strtof32x_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern _Float64x strtof64x_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); # 480 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline __attribute__ ((__gnu_inline__)) long int __attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int __attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 505 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; extern long int a64l (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 521 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; __extension__ unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern __uint32_t arc4random (void) __attribute__ ((__nothrow__ , __leaf__)) ; extern void arc4random_buf (void *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) __attribute__ ((__nothrow__ , __leaf__)) ; extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1))) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2, 3))) __attribute__ ((__malloc__ (__builtin_free, 1))); extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/alloca.h" 1 3 4 # 19 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/alloca.h" 3 4 #define _ALLOCA_H 1 #define __need_size_t # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/alloca.h" 2 3 4 #undef alloca extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); #define alloca(size) __builtin_alloca (size) # 707 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1))) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern void *aligned_alloc (size_t __alignment, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) __attribute__ ((__alloc_size__ (2))) ; extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern char *secure_getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int setenv (const char *__name, const char *__value, int __replace) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); # 814 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 827 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 837 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; # 849 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 859 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int mkstemps64 (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 870 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; # 881 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 891 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 901 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int mkostemps (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; # 913 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int mkostemps64 (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; # 923 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int system (const char *__command) ; extern char *canonicalize_file_name (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))) ; # 940 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern char *realpath (const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; #define __COMPAR_FN_T typedef int (*__compar_fn_t) (const void *, const void *); typedef __compar_fn_t comparison_fn_t; typedef int (*__compar_d_fn_t) (const void *, const void *, void *); extern void *bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdlib-bsearch.h" 1 3 4 # 19 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdlib-bsearch.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) { size_t __l, __u, __idx; const void *__p; int __comparison; __l = 0; __u = __nmemb; while (__l < __u) { __idx = (__l + __u) / 2; __p = (const void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-qual" return (void *) __p; #pragma GCC diagnostic pop } } return ((void *)0); } # 966 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 2 3 4 extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern void qsort_r (void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; __extension__ extern long long int llabs (long long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; # 1012 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int mbtowc (wchar_t *__restrict __pwc, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); extern size_t mbstowcs (wchar_t *__restrict __pwcs, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__read_only__, 2))); extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; # 1099 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *const *__restrict __tokens, char **__restrict __valuep) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int unlockpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern char *ptsname (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 1155 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdlib-float.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stdlib-float.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) double __attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } # 1156 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 2 3 4 # 1167 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/stdlib.h" 3 4 # 135 "system.h" 2 #define SUCCESS_EXIT_CODE EXIT_SUCCESS #define FATAL_EXIT_CODE EXIT_FAILURE # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 #define _UNISTD_H 1 #define _POSIX_VERSION 200809L # 53 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 #define __POSIX2_THIS_VERSION 200809L # 67 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 #define _POSIX2_VERSION __POSIX2_THIS_VERSION #define _POSIX2_C_VERSION __POSIX2_THIS_VERSION #define _POSIX2_C_BIND __POSIX2_THIS_VERSION #define _POSIX2_C_DEV __POSIX2_THIS_VERSION #define _POSIX2_SW_DEV __POSIX2_THIS_VERSION #define _POSIX2_LOCALEDEF __POSIX2_THIS_VERSION #define _XOPEN_VERSION 700 # 100 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 #define _XOPEN_XCU_VERSION 4 #define _XOPEN_XPG2 1 #define _XOPEN_XPG3 1 #define _XOPEN_XPG4 1 #define _XOPEN_UNIX 1 #define _XOPEN_ENH_I18N 1 #define _XOPEN_LEGACY 1 # 202 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/posix_opt.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/posix_opt.h" 3 4 #define _BITS_POSIX_OPT_H 1 #define _POSIX_JOB_CONTROL 1 #define _POSIX_SAVED_IDS 1 #define _POSIX_PRIORITY_SCHEDULING 200809L #define _POSIX_SYNCHRONIZED_IO 200809L #define _POSIX_FSYNC 200809L #define _POSIX_MAPPED_FILES 200809L #define _POSIX_MEMLOCK 200809L #define _POSIX_MEMLOCK_RANGE 200809L #define _POSIX_MEMORY_PROTECTION 200809L #define _POSIX_CHOWN_RESTRICTED 0 #define _POSIX_VDISABLE '\0' #define _POSIX_NO_TRUNC 1 #define _XOPEN_REALTIME 1 #define _XOPEN_REALTIME_THREADS 1 #define _XOPEN_SHM 1 #define _POSIX_THREADS 200809L #define _POSIX_REENTRANT_FUNCTIONS 1 #define _POSIX_THREAD_SAFE_FUNCTIONS 200809L #define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L #define _POSIX_THREAD_ATTR_STACKSIZE 200809L #define _POSIX_THREAD_ATTR_STACKADDR 200809L #define _POSIX_THREAD_PRIO_INHERIT 200809L #define _POSIX_THREAD_PRIO_PROTECT 200809L #define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L #define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1 #define _POSIX_SEMAPHORES 200809L #define _POSIX_REALTIME_SIGNALS 200809L #define _POSIX_ASYNCHRONOUS_IO 200809L #define _POSIX_ASYNC_IO 1 #define _LFS_ASYNCHRONOUS_IO 1 #define _POSIX_PRIORITIZED_IO 200809L #define _LFS64_ASYNCHRONOUS_IO 1 #define _LFS_LARGEFILE 1 #define _LFS64_LARGEFILE 1 #define _LFS64_STDIO 1 #define _POSIX_SHARED_MEMORY_OBJECTS 200809L #define _POSIX_CPUTIME 0 #define _POSIX_THREAD_CPUTIME 0 #define _POSIX_REGEXP 1 #define _POSIX_READER_WRITER_LOCKS 200809L #define _POSIX_SHELL 1 #define _POSIX_TIMEOUTS 200809L #define _POSIX_SPIN_LOCKS 200809L #define _POSIX_SPAWN 200809L #define _POSIX_TIMERS 200809L #define _POSIX_BARRIERS 200809L #define _POSIX_MESSAGE_PASSING 200809L #define _POSIX_THREAD_PROCESS_SHARED 200809L #define _POSIX_MONOTONIC_CLOCK 0 #define _POSIX_CLOCK_SELECTION 200809L #define _POSIX_ADVISORY_INFO 200809L #define _POSIX_IPV6 200809L #define _POSIX_RAW_SOCKETS 200809L #define _POSIX2_CHAR_TERM 200809L #define _POSIX_SPORADIC_SERVER -1 #define _POSIX_THREAD_SPORADIC_SERVER -1 #define _POSIX_TRACE -1 #define _POSIX_TRACE_EVENT_FILTER -1 #define _POSIX_TRACE_INHERIT -1 #define _POSIX_TRACE_LOG -1 #define _POSIX_TYPED_MEMORY_OBJECTS -1 # 203 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/environments.h" 1 3 4 # 22 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/environments.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 1 3 4 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/environments.h" 2 3 4 # 45 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/environments.h" 3 4 #define _POSIX_V7_ILP32_OFF32 -1 #define _POSIX_V7_ILP32_OFFBIG -1 #define _POSIX_V6_ILP32_OFF32 -1 #define _POSIX_V6_ILP32_OFFBIG -1 #define _XBS5_ILP32_OFF32 -1 #define _XBS5_ILP32_OFFBIG -1 #define _POSIX_V7_LPBIG_OFFBIG -1 #define _POSIX_V6_LPBIG_OFFBIG -1 #define _XBS5_LPBIG_OFFBIG -1 #define _POSIX_V7_LP64_OFF64 1 #define _POSIX_V6_LP64_OFF64 1 #define _XBS5_LP64_OFF64 1 # 207 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 2 3 4 #define STDIN_FILENO 0 #define STDOUT_FILENO 1 #define STDERR_FILENO 2 # 224 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 #define __need_size_t #define __need_NULL # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 227 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 2 3 4 # 267 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 typedef __intptr_t intptr_t; #define __intptr_t_defined typedef __socklen_t socklen_t; #define __socklen_t_defined #define R_OK 4 #define W_OK 2 #define X_OK 1 #define F_OK 0 extern int access (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int euidaccess (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int eaccess (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int execveat (int __fd, const char *__path, char *const __argv[], char *const __envp[], int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern int faccessat (int __fd, const char *__file, int __type, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ; # 327 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 #define L_SET SEEK_SET #define L_INCR SEEK_CUR #define L_XTND SEEK_END # 339 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__ , __leaf__)); # 350 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) __attribute__ ((__nothrow__ , __leaf__)); extern int close (int __fd); extern void closefrom (int __lowfd) __attribute__ ((__nothrow__ , __leaf__)); extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __attribute__ ((__access__ (__write_only__, 2, 3))); extern ssize_t write (int __fd, const void *__buf, size_t __n) __attribute__ ((__access__ (__read_only__, 2, 3))); # 389 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __attribute__ ((__access__ (__write_only__, 2, 3))); extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, __off_t __offset) __attribute__ ((__access__ (__read_only__, 2, 3))); # 422 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __attribute__ ((__access__ (__write_only__, 2, 3))); extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, __off64_t __offset) __attribute__ ((__access__ (__read_only__, 2, 3))); extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ , __leaf__)) ; extern int pipe2 (int __pipedes[2], int __flags) __attribute__ ((__nothrow__ , __leaf__)) ; # 452 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ , __leaf__)); # 464 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) __attribute__ ((__nothrow__ , __leaf__)); extern int usleep (__useconds_t __useconds); # 489 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) ; extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int fchownat (int __fd, const char *__file, __uid_t __owner, __gid_t __group, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ; extern int chdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int fchdir (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ; # 531 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) ; extern char *get_current_dir_name (void) __attribute__ ((__nothrow__ , __leaf__)); extern char *getwd (char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__access__ (__write_only__, 1))); extern int dup (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ; extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__ , __leaf__)); extern int dup3 (int __fd, int __fd2, int __flags) __attribute__ ((__nothrow__ , __leaf__)); extern char **__environ; extern char **environ; extern int execve (const char *__path, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int execv (const char *__path, char *const __argv[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execle (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execl (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execvp (const char *__file, char *const __argv[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execlp (const char *__file, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execvpe (const char *__file, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int nice (int __inc) __attribute__ ((__nothrow__ , __leaf__)) ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/confname.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/confname.h" 3 4 enum { _PC_LINK_MAX, #define _PC_LINK_MAX _PC_LINK_MAX _PC_MAX_CANON, #define _PC_MAX_CANON _PC_MAX_CANON _PC_MAX_INPUT, #define _PC_MAX_INPUT _PC_MAX_INPUT _PC_NAME_MAX, #define _PC_NAME_MAX _PC_NAME_MAX _PC_PATH_MAX, #define _PC_PATH_MAX _PC_PATH_MAX _PC_PIPE_BUF, #define _PC_PIPE_BUF _PC_PIPE_BUF _PC_CHOWN_RESTRICTED, #define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED _PC_NO_TRUNC, #define _PC_NO_TRUNC _PC_NO_TRUNC _PC_VDISABLE, #define _PC_VDISABLE _PC_VDISABLE _PC_SYNC_IO, #define _PC_SYNC_IO _PC_SYNC_IO _PC_ASYNC_IO, #define _PC_ASYNC_IO _PC_ASYNC_IO _PC_PRIO_IO, #define _PC_PRIO_IO _PC_PRIO_IO _PC_SOCK_MAXBUF, #define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF _PC_FILESIZEBITS, #define _PC_FILESIZEBITS _PC_FILESIZEBITS _PC_REC_INCR_XFER_SIZE, #define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE _PC_REC_MAX_XFER_SIZE, #define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE _PC_REC_MIN_XFER_SIZE, #define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE _PC_REC_XFER_ALIGN, #define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN _PC_ALLOC_SIZE_MIN, #define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN _PC_SYMLINK_MAX, #define _PC_SYMLINK_MAX _PC_SYMLINK_MAX _PC_2_SYMLINKS #define _PC_2_SYMLINKS _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, #define _SC_ARG_MAX _SC_ARG_MAX _SC_CHILD_MAX, #define _SC_CHILD_MAX _SC_CHILD_MAX _SC_CLK_TCK, #define _SC_CLK_TCK _SC_CLK_TCK _SC_NGROUPS_MAX, #define _SC_NGROUPS_MAX _SC_NGROUPS_MAX _SC_OPEN_MAX, #define _SC_OPEN_MAX _SC_OPEN_MAX _SC_STREAM_MAX, #define _SC_STREAM_MAX _SC_STREAM_MAX _SC_TZNAME_MAX, #define _SC_TZNAME_MAX _SC_TZNAME_MAX _SC_JOB_CONTROL, #define _SC_JOB_CONTROL _SC_JOB_CONTROL _SC_SAVED_IDS, #define _SC_SAVED_IDS _SC_SAVED_IDS _SC_REALTIME_SIGNALS, #define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS _SC_PRIORITY_SCHEDULING, #define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING _SC_TIMERS, #define _SC_TIMERS _SC_TIMERS _SC_ASYNCHRONOUS_IO, #define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO _SC_PRIORITIZED_IO, #define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO _SC_SYNCHRONIZED_IO, #define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO _SC_FSYNC, #define _SC_FSYNC _SC_FSYNC _SC_MAPPED_FILES, #define _SC_MAPPED_FILES _SC_MAPPED_FILES _SC_MEMLOCK, #define _SC_MEMLOCK _SC_MEMLOCK _SC_MEMLOCK_RANGE, #define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE _SC_MEMORY_PROTECTION, #define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION _SC_MESSAGE_PASSING, #define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING _SC_SEMAPHORES, #define _SC_SEMAPHORES _SC_SEMAPHORES _SC_SHARED_MEMORY_OBJECTS, #define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS _SC_AIO_LISTIO_MAX, #define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX _SC_AIO_MAX, #define _SC_AIO_MAX _SC_AIO_MAX _SC_AIO_PRIO_DELTA_MAX, #define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX _SC_DELAYTIMER_MAX, #define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX _SC_MQ_OPEN_MAX, #define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX _SC_MQ_PRIO_MAX, #define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX _SC_VERSION, #define _SC_VERSION _SC_VERSION _SC_PAGESIZE, #define _SC_PAGESIZE _SC_PAGESIZE #define _SC_PAGE_SIZE _SC_PAGESIZE _SC_RTSIG_MAX, #define _SC_RTSIG_MAX _SC_RTSIG_MAX _SC_SEM_NSEMS_MAX, #define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX _SC_SEM_VALUE_MAX, #define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX _SC_SIGQUEUE_MAX, #define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX _SC_TIMER_MAX, #define _SC_TIMER_MAX _SC_TIMER_MAX _SC_BC_BASE_MAX, #define _SC_BC_BASE_MAX _SC_BC_BASE_MAX _SC_BC_DIM_MAX, #define _SC_BC_DIM_MAX _SC_BC_DIM_MAX _SC_BC_SCALE_MAX, #define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX _SC_BC_STRING_MAX, #define _SC_BC_STRING_MAX _SC_BC_STRING_MAX _SC_COLL_WEIGHTS_MAX, #define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX _SC_EQUIV_CLASS_MAX, #define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX _SC_EXPR_NEST_MAX, #define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX _SC_LINE_MAX, #define _SC_LINE_MAX _SC_LINE_MAX _SC_RE_DUP_MAX, #define _SC_RE_DUP_MAX _SC_RE_DUP_MAX _SC_CHARCLASS_NAME_MAX, #define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX _SC_2_VERSION, #define _SC_2_VERSION _SC_2_VERSION _SC_2_C_BIND, #define _SC_2_C_BIND _SC_2_C_BIND _SC_2_C_DEV, #define _SC_2_C_DEV _SC_2_C_DEV _SC_2_FORT_DEV, #define _SC_2_FORT_DEV _SC_2_FORT_DEV _SC_2_FORT_RUN, #define _SC_2_FORT_RUN _SC_2_FORT_RUN _SC_2_SW_DEV, #define _SC_2_SW_DEV _SC_2_SW_DEV _SC_2_LOCALEDEF, #define _SC_2_LOCALEDEF _SC_2_LOCALEDEF _SC_PII, #define _SC_PII _SC_PII _SC_PII_XTI, #define _SC_PII_XTI _SC_PII_XTI _SC_PII_SOCKET, #define _SC_PII_SOCKET _SC_PII_SOCKET _SC_PII_INTERNET, #define _SC_PII_INTERNET _SC_PII_INTERNET _SC_PII_OSI, #define _SC_PII_OSI _SC_PII_OSI _SC_POLL, #define _SC_POLL _SC_POLL _SC_SELECT, #define _SC_SELECT _SC_SELECT _SC_UIO_MAXIOV, #define _SC_UIO_MAXIOV _SC_UIO_MAXIOV _SC_IOV_MAX = _SC_UIO_MAXIOV, #define _SC_IOV_MAX _SC_IOV_MAX _SC_PII_INTERNET_STREAM, #define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_DGRAM, #define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM _SC_PII_OSI_COTS, #define _SC_PII_OSI_COTS _SC_PII_OSI_COTS _SC_PII_OSI_CLTS, #define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS _SC_PII_OSI_M, #define _SC_PII_OSI_M _SC_PII_OSI_M _SC_T_IOV_MAX, #define _SC_T_IOV_MAX _SC_T_IOV_MAX _SC_THREADS, #define _SC_THREADS _SC_THREADS _SC_THREAD_SAFE_FUNCTIONS, #define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS _SC_GETGR_R_SIZE_MAX, #define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX, #define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX _SC_LOGIN_NAME_MAX, #define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX _SC_TTY_NAME_MAX, #define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX _SC_THREAD_DESTRUCTOR_ITERATIONS, #define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_KEYS_MAX, #define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX _SC_THREAD_STACK_MIN, #define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN _SC_THREAD_THREADS_MAX, #define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX _SC_THREAD_ATTR_STACKADDR, #define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKSIZE, #define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_PRIORITY_SCHEDULING, #define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIO_INHERIT, #define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_PROTECT, #define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT _SC_THREAD_PROCESS_SHARED, #define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED _SC_NPROCESSORS_CONF, #define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF _SC_NPROCESSORS_ONLN, #define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN _SC_PHYS_PAGES, #define _SC_PHYS_PAGES _SC_PHYS_PAGES _SC_AVPHYS_PAGES, #define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES _SC_ATEXIT_MAX, #define _SC_ATEXIT_MAX _SC_ATEXIT_MAX _SC_PASS_MAX, #define _SC_PASS_MAX _SC_PASS_MAX _SC_XOPEN_VERSION, #define _SC_XOPEN_VERSION _SC_XOPEN_VERSION _SC_XOPEN_XCU_VERSION, #define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION _SC_XOPEN_UNIX, #define _SC_XOPEN_UNIX _SC_XOPEN_UNIX _SC_XOPEN_CRYPT, #define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT _SC_XOPEN_ENH_I18N, #define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N _SC_XOPEN_SHM, #define _SC_XOPEN_SHM _SC_XOPEN_SHM _SC_2_CHAR_TERM, #define _SC_2_CHAR_TERM _SC_2_CHAR_TERM _SC_2_C_VERSION, #define _SC_2_C_VERSION _SC_2_C_VERSION _SC_2_UPE, #define _SC_2_UPE _SC_2_UPE _SC_XOPEN_XPG2, #define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2 _SC_XOPEN_XPG3, #define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3 _SC_XOPEN_XPG4, #define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4 _SC_CHAR_BIT, #define _SC_CHAR_BIT _SC_CHAR_BIT _SC_CHAR_MAX, #define _SC_CHAR_MAX _SC_CHAR_MAX _SC_CHAR_MIN, #define _SC_CHAR_MIN _SC_CHAR_MIN _SC_INT_MAX, #define _SC_INT_MAX _SC_INT_MAX _SC_INT_MIN, #define _SC_INT_MIN _SC_INT_MIN _SC_LONG_BIT, #define _SC_LONG_BIT _SC_LONG_BIT _SC_WORD_BIT, #define _SC_WORD_BIT _SC_WORD_BIT _SC_MB_LEN_MAX, #define _SC_MB_LEN_MAX _SC_MB_LEN_MAX _SC_NZERO, #define _SC_NZERO _SC_NZERO _SC_SSIZE_MAX, #define _SC_SSIZE_MAX _SC_SSIZE_MAX _SC_SCHAR_MAX, #define _SC_SCHAR_MAX _SC_SCHAR_MAX _SC_SCHAR_MIN, #define _SC_SCHAR_MIN _SC_SCHAR_MIN _SC_SHRT_MAX, #define _SC_SHRT_MAX _SC_SHRT_MAX _SC_SHRT_MIN, #define _SC_SHRT_MIN _SC_SHRT_MIN _SC_UCHAR_MAX, #define _SC_UCHAR_MAX _SC_UCHAR_MAX _SC_UINT_MAX, #define _SC_UINT_MAX _SC_UINT_MAX _SC_ULONG_MAX, #define _SC_ULONG_MAX _SC_ULONG_MAX _SC_USHRT_MAX, #define _SC_USHRT_MAX _SC_USHRT_MAX _SC_NL_ARGMAX, #define _SC_NL_ARGMAX _SC_NL_ARGMAX _SC_NL_LANGMAX, #define _SC_NL_LANGMAX _SC_NL_LANGMAX _SC_NL_MSGMAX, #define _SC_NL_MSGMAX _SC_NL_MSGMAX _SC_NL_NMAX, #define _SC_NL_NMAX _SC_NL_NMAX _SC_NL_SETMAX, #define _SC_NL_SETMAX _SC_NL_SETMAX _SC_NL_TEXTMAX, #define _SC_NL_TEXTMAX _SC_NL_TEXTMAX _SC_XBS5_ILP32_OFF32, #define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFFBIG, #define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG _SC_XBS5_LP64_OFF64, #define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64 _SC_XBS5_LPBIG_OFFBIG, #define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG _SC_XOPEN_LEGACY, #define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY _SC_XOPEN_REALTIME, #define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME_THREADS, #define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS _SC_ADVISORY_INFO, #define _SC_ADVISORY_INFO _SC_ADVISORY_INFO _SC_BARRIERS, #define _SC_BARRIERS _SC_BARRIERS _SC_BASE, #define _SC_BASE _SC_BASE _SC_C_LANG_SUPPORT, #define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT_R, #define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R _SC_CLOCK_SELECTION, #define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION _SC_CPUTIME, #define _SC_CPUTIME _SC_CPUTIME _SC_THREAD_CPUTIME, #define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME _SC_DEVICE_IO, #define _SC_DEVICE_IO _SC_DEVICE_IO _SC_DEVICE_SPECIFIC, #define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC_R, #define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R _SC_FD_MGMT, #define _SC_FD_MGMT _SC_FD_MGMT _SC_FIFO, #define _SC_FIFO _SC_FIFO _SC_PIPE, #define _SC_PIPE _SC_PIPE _SC_FILE_ATTRIBUTES, #define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES _SC_FILE_LOCKING, #define _SC_FILE_LOCKING _SC_FILE_LOCKING _SC_FILE_SYSTEM, #define _SC_FILE_SYSTEM _SC_FILE_SYSTEM _SC_MONOTONIC_CLOCK, #define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK _SC_MULTI_PROCESS, #define _SC_MULTI_PROCESS _SC_MULTI_PROCESS _SC_SINGLE_PROCESS, #define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS _SC_NETWORKING, #define _SC_NETWORKING _SC_NETWORKING _SC_READER_WRITER_LOCKS, #define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS _SC_SPIN_LOCKS, #define _SC_SPIN_LOCKS _SC_SPIN_LOCKS _SC_REGEXP, #define _SC_REGEXP _SC_REGEXP _SC_REGEX_VERSION, #define _SC_REGEX_VERSION _SC_REGEX_VERSION _SC_SHELL, #define _SC_SHELL _SC_SHELL _SC_SIGNALS, #define _SC_SIGNALS _SC_SIGNALS _SC_SPAWN, #define _SC_SPAWN _SC_SPAWN _SC_SPORADIC_SERVER, #define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER, #define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER _SC_SYSTEM_DATABASE, #define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE_R, #define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R _SC_TIMEOUTS, #define _SC_TIMEOUTS _SC_TIMEOUTS _SC_TYPED_MEMORY_OBJECTS, #define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS _SC_USER_GROUPS, #define _SC_USER_GROUPS _SC_USER_GROUPS _SC_USER_GROUPS_R, #define _SC_USER_GROUPS_R _SC_USER_GROUPS_R _SC_2_PBS, #define _SC_2_PBS _SC_2_PBS _SC_2_PBS_ACCOUNTING, #define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING _SC_2_PBS_LOCATE, #define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE _SC_2_PBS_MESSAGE, #define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE _SC_2_PBS_TRACK, #define _SC_2_PBS_TRACK _SC_2_PBS_TRACK _SC_SYMLOOP_MAX, #define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX _SC_STREAMS, #define _SC_STREAMS _SC_STREAMS _SC_2_PBS_CHECKPOINT, #define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT _SC_V6_ILP32_OFF32, #define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFFBIG, #define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG _SC_V6_LP64_OFF64, #define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64 _SC_V6_LPBIG_OFFBIG, #define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG _SC_HOST_NAME_MAX, #define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX _SC_TRACE, #define _SC_TRACE _SC_TRACE _SC_TRACE_EVENT_FILTER, #define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER _SC_TRACE_INHERIT, #define _SC_TRACE_INHERIT _SC_TRACE_INHERIT _SC_TRACE_LOG, #define _SC_TRACE_LOG _SC_TRACE_LOG _SC_LEVEL1_ICACHE_SIZE, #define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_ASSOC, #define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_LINESIZE, #define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_DCACHE_SIZE, #define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_ASSOC, #define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_LINESIZE, #define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL2_CACHE_SIZE, #define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_ASSOC, #define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_LINESIZE, #define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL3_CACHE_SIZE, #define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_ASSOC, #define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_LINESIZE, #define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL4_CACHE_SIZE, #define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_ASSOC, #define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_LINESIZE, #define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, #define _SC_IPV6 _SC_IPV6 _SC_RAW_SOCKETS, #define _SC_RAW_SOCKETS _SC_RAW_SOCKETS _SC_V7_ILP32_OFF32, #define _SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFFBIG, #define _SC_V7_ILP32_OFFBIG _SC_V7_ILP32_OFFBIG _SC_V7_LP64_OFF64, #define _SC_V7_LP64_OFF64 _SC_V7_LP64_OFF64 _SC_V7_LPBIG_OFFBIG, #define _SC_V7_LPBIG_OFFBIG _SC_V7_LPBIG_OFFBIG _SC_SS_REPL_MAX, #define _SC_SS_REPL_MAX _SC_SS_REPL_MAX _SC_TRACE_EVENT_NAME_MAX, #define _SC_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX _SC_TRACE_NAME_MAX, #define _SC_TRACE_NAME_MAX _SC_TRACE_NAME_MAX _SC_TRACE_SYS_MAX, #define _SC_TRACE_SYS_MAX _SC_TRACE_SYS_MAX _SC_TRACE_USER_EVENT_MAX, #define _SC_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX _SC_XOPEN_STREAMS, #define _SC_XOPEN_STREAMS _SC_XOPEN_STREAMS _SC_THREAD_ROBUST_PRIO_INHERIT, #define _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_PROTECT, #define _SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT _SC_MINSIGSTKSZ, #define _SC_MINSIGSTKSZ _SC_MINSIGSTKSZ _SC_SIGSTKSZ #define _SC_SIGSTKSZ _SC_SIGSTKSZ }; enum { _CS_PATH, #define _CS_PATH _CS_PATH _CS_V6_WIDTH_RESTRICTED_ENVS, #define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS #define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS _CS_GNU_LIBC_VERSION, #define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION _CS_GNU_LIBPTHREAD_VERSION, #define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION _CS_V5_WIDTH_RESTRICTED_ENVS, #define _CS_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS #define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS, #define _CS_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS #define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS _CS_LFS_CFLAGS = 1000, #define _CS_LFS_CFLAGS _CS_LFS_CFLAGS _CS_LFS_LDFLAGS, #define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS _CS_LFS_LIBS, #define _CS_LFS_LIBS _CS_LFS_LIBS _CS_LFS_LINTFLAGS, #define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS _CS_LFS64_CFLAGS, #define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS _CS_LFS64_LDFLAGS, #define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS _CS_LFS64_LIBS, #define _CS_LFS64_LIBS _CS_LFS64_LIBS _CS_LFS64_LINTFLAGS, #define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, #define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS, #define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LIBS, #define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LINTFLAGS, #define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS, #define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS, #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LIBS, #define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_LP64_OFF64_CFLAGS, #define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS, #define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LIBS, #define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LINTFLAGS, #define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS, #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LIBS, #define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS, #define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, #define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LIBS, #define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, #define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, #define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, #define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LIBS, #define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, #define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS, #define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS, #define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LIBS, #define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, #define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, #define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, #define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, #define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, #define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS, #define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, #define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LIBS, #define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, #define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, #define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, #define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LIBS, #define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, #define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS, #define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS, #define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LIBS, #define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, #define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, #define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, #define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, #define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, #define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_V6_ENV, #define _CS_V6_ENV _CS_V6_ENV _CS_V7_ENV #define _CS_V7_ENV _CS_V7_ENV }; # 631 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 2 3 4 extern long int pathconf (const char *__path, int __name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__ , __leaf__)); extern long int sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__)); extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__write_only__, 2, 3))); extern __pid_t getpid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getppid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__ , __leaf__)); # 682 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern int setpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t setsid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern __uid_t getuid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __uid_t geteuid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __gid_t getgid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __gid_t getegid (void) __attribute__ ((__nothrow__ , __leaf__)); extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__write_only__, 2, 1))); extern int group_member (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)); extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) __attribute__ ((__nothrow__ , __leaf__)); extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) __attribute__ ((__nothrow__ , __leaf__)); extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) __attribute__ ((__nothrow__ , __leaf__)) ; extern __pid_t fork (void) __attribute__ ((__nothrow__)); extern __pid_t vfork (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t _Fork (void) __attribute__ ((__nothrow__ , __leaf__)); extern char *ttyname (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern int isatty (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int ttyslot (void) __attribute__ ((__nothrow__ , __leaf__)); extern int link (const char *__from, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ; extern int linkat (int __fromfd, const char *__from, int __tofd, const char *__to, int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) ; extern int symlink (const char *__from, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ; extern ssize_t readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern int symlinkat (const char *__from, int __tofd, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) ; extern ssize_t readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__access__ (__write_only__, 3, 4))); extern int unlink (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int unlinkat (int __fd, const char *__name, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int rmdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__ , __leaf__)); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2))); extern int setlogin (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/getopt_posix.h" 1 3 4 # 21 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/getopt_posix.h" 3 4 #define _GETOPT_POSIX_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/getopt_core.h" 1 3 4 # 21 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/getopt_core.h" 3 4 #define _GETOPT_CORE_H 1 extern char *optarg; # 50 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/getopt_core.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 91 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/getopt_core.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 28 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/getopt_posix.h" 2 3 4 # 49 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/getopt_posix.h" 3 4 # 904 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2))); extern int sethostname (const char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__read_only__, 1, 2))); extern int sethostid (long int __id) __attribute__ ((__nothrow__ , __leaf__)) ; extern int getdomainname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2))); extern int setdomainname (const char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__read_only__, 1, 2))); extern int vhangup (void) __attribute__ ((__nothrow__ , __leaf__)); extern int revoke (const char *__file) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int acct (const char *__name) __attribute__ ((__nothrow__ , __leaf__)); extern char *getusershell (void) __attribute__ ((__nothrow__ , __leaf__)); extern void endusershell (void) __attribute__ ((__nothrow__ , __leaf__)); extern void setusershell (void) __attribute__ ((__nothrow__ , __leaf__)); extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__ , __leaf__)) ; extern int chroot (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern char *getpass (const char *__prompt) __attribute__ ((__nonnull__ (1))); extern int fsync (int __fd); extern int syncfs (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern long int gethostid (void); extern void sync (void) __attribute__ ((__nothrow__ , __leaf__)); extern int getpagesize (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int getdtablesize (void) __attribute__ ((__nothrow__ , __leaf__)); # 1026 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern int truncate (const char *__file, __off_t __length) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; # 1038 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern int truncate64 (const char *__file, __off64_t __length) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; # 1049 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__ , __leaf__)) ; # 1059 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern int ftruncate64 (int __fd, __off64_t __length) __attribute__ ((__nothrow__ , __leaf__)) ; # 1070 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern int brk (void *__addr) __attribute__ ((__nothrow__ , __leaf__)) ; extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__ , __leaf__)); # 1091 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__ , __leaf__)); # 1108 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 #define F_ULOCK 0 #define F_LOCK 1 #define F_TLOCK 2 #define F_TEST 3 extern int lockf (int __fd, int __cmd, __off_t __len) ; # 1124 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; # 1134 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 #define TEMP_FAILURE_RETRY(expression) (__extension__ ({ long int __result; do __result = (long int) (expression); while (__result == -1L && errno == EINTR); __result; })) ssize_t copy_file_range (int __infd, __off64_t *__pinoff, int __outfd, __off64_t *__poutoff, size_t __length, unsigned int __flags); extern int fdatasync (int __fildes); # 1159 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern char *crypt (const char *__key, const char *__salt) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void swab (const void *__restrict __from, void *__restrict __to, ssize_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_only__, 1, 3))) __attribute__ ((__access__ (__write_only__, 2, 3))); # 1198 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 int getentropy (void *__buffer, size_t __length) __attribute__ ((__access__ (__write_only__, 1, 2))); # 1208 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 extern int close_range (unsigned int __fd, unsigned int __max_fd, int __flags) __attribute__ ((__nothrow__ , __leaf__)); # 1218 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/unistd_ext.h" 1 3 4 # 34 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/unistd_ext.h" 3 4 extern __pid_t gettid (void) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/close_range.h" 1 3 4 #define _LINUX_CLOSE_RANGE_H #define CLOSE_RANGE_UNSHARE (1U << 1) #define CLOSE_RANGE_CLOEXEC (1U << 2) # 39 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/unistd_ext.h" 2 3 4 # 1219 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/unistd.h" 2 3 4 # 158 "system.h" 2 # 167 "system.h" # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/limits.h" 1 3 4 # 30 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/limits.h" 3 4 #define _GCC_LIMITS_H_ # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/syslimits.h" 1 3 4 #define _GCC_NEXT_LIMITS_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/limits.h" 1 3 4 # 210 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/limits.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/limits.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/limits.h" 3 4 #define _LIBC_LIMITS_H_ 1 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 31 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #undef __GLIBC_USE_LIB_EXT2 #define __GLIBC_USE_LIB_EXT2 1 # 67 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_BFP_EXT #define __GLIBC_USE_IEC_60559_BFP_EXT 1 #undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X #define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_EXT #define __GLIBC_USE_IEC_60559_EXT 1 # 90 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X #define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_TYPES_EXT #define __GLIBC_USE_IEC_60559_TYPES_EXT 1 # 27 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/limits.h" 2 3 4 #define MB_LEN_MAX 16 # 132 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/limits.h" 3 4 #define LLONG_MIN (-LLONG_MAX-1) #define LLONG_MAX __LONG_LONG_MAX__ #define ULLONG_MAX (LLONG_MAX * 2ULL + 1) # 147 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/limits.h" 3 4 #define CHAR_WIDTH 8 #define SCHAR_WIDTH 8 #define UCHAR_WIDTH 8 #define SHRT_WIDTH 16 #define USHRT_WIDTH 16 #define INT_WIDTH 32 #define UINT_WIDTH 32 #define LONG_WIDTH __WORDSIZE #define ULONG_WIDTH __WORDSIZE #define LLONG_WIDTH 64 #define ULLONG_WIDTH 64 # 186 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/limits.h" 3 4 #define BOOL_MAX 1 #define BOOL_WIDTH 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/posix1_lim.h" 1 3 4 # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/posix1_lim.h" 3 4 #define _BITS_POSIX1_LIM_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 1 3 4 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 28 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/posix1_lim.h" 2 3 4 #define _POSIX_AIO_LISTIO_MAX 2 #define _POSIX_AIO_MAX 1 #define _POSIX_ARG_MAX 4096 #define _POSIX_CHILD_MAX 25 #define _POSIX_DELAYTIMER_MAX 32 #define _POSIX_HOST_NAME_MAX 255 #define _POSIX_LINK_MAX 8 #define _POSIX_LOGIN_NAME_MAX 9 #define _POSIX_MAX_CANON 255 #define _POSIX_MAX_INPUT 255 #define _POSIX_MQ_OPEN_MAX 8 #define _POSIX_MQ_PRIO_MAX 32 #define _POSIX_NAME_MAX 14 #define _POSIX_NGROUPS_MAX 8 #define _POSIX_OPEN_MAX 20 #define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX #define _POSIX_PATH_MAX 256 #define _POSIX_PIPE_BUF 512 #define _POSIX_RE_DUP_MAX 255 #define _POSIX_RTSIG_MAX 8 #define _POSIX_SEM_NSEMS_MAX 256 #define _POSIX_SEM_VALUE_MAX 32767 #define _POSIX_SIGQUEUE_MAX 32 #define _POSIX_SSIZE_MAX 32767 #define _POSIX_STREAM_MAX 8 #define _POSIX_SYMLINK_MAX 255 #define _POSIX_SYMLOOP_MAX 8 #define _POSIX_TIMER_MAX 32 #define _POSIX_TTY_NAME_MAX 9 #define _POSIX_TZNAME_MAX 6 #define _POSIX_QLIMIT 1 #define _POSIX_HIWAT _POSIX_PIPE_BUF #define _POSIX_UIO_MAXIOV 16 #define _POSIX_CLOCKRES_MIN 20000000 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/local_lim.h" 1 3 4 # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/local_lim.h" 3 4 #define __undef_NR_OPEN #define __undef_LINK_MAX #define __undef_OPEN_MAX #define __undef_ARG_MAX # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/limits.h" 1 3 4 #define _LINUX_LIMITS_H #define NR_OPEN 1024 #define NGROUPS_MAX 65536 #define ARG_MAX 131072 #define LINK_MAX 127 #define MAX_CANON 255 #define MAX_INPUT 255 #define NAME_MAX 255 #define PATH_MAX 4096 #define PIPE_BUF 4096 #define XATTR_NAME_MAX 255 #define XATTR_SIZE_MAX 65536 #define XATTR_LIST_MAX 65536 #define RTSIG_MAX 32 # 39 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/local_lim.h" 2 3 4 #undef NR_OPEN #undef __undef_NR_OPEN #undef LINK_MAX #undef __undef_LINK_MAX #undef OPEN_MAX #undef __undef_OPEN_MAX #undef ARG_MAX #undef __undef_ARG_MAX #define _POSIX_THREAD_KEYS_MAX 128 #define PTHREAD_KEYS_MAX 1024 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS #define _POSIX_THREAD_THREADS_MAX 64 #undef PTHREAD_THREADS_MAX #define AIO_PRIO_DELTA_MAX 20 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/pthread_stack_min-dynamic.h" 1 3 4 # 22 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/pthread_stack_min-dynamic.h" 3 4 #define __SC_THREAD_STACK_MIN_VALUE 75 extern long int __sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__)); #define PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE) # 82 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/local_lim.h" 2 3 4 #define DELAYTIMER_MAX 2147483647 #define TTY_NAME_MAX 32 #define LOGIN_NAME_MAX 256 #define HOST_NAME_MAX 64 #define MQ_PRIO_MAX 32768 #define SEM_VALUE_MAX (2147483647) # 162 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/posix1_lim.h" 2 3 4 #define SSIZE_MAX LONG_MAX # 196 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/limits.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/posix2_lim.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/posix2_lim.h" 3 4 #define _BITS_POSIX2_LIM_H 1 #define _POSIX2_BC_BASE_MAX 99 #define _POSIX2_BC_DIM_MAX 2048 #define _POSIX2_BC_SCALE_MAX 99 #define _POSIX2_BC_STRING_MAX 1000 #define _POSIX2_COLL_WEIGHTS_MAX 2 #define _POSIX2_EXPR_NEST_MAX 32 #define _POSIX2_LINE_MAX 2048 #define _POSIX2_RE_DUP_MAX 255 #define _POSIX2_CHARCLASS_NAME_MAX 14 #define BC_BASE_MAX _POSIX2_BC_BASE_MAX #define BC_DIM_MAX _POSIX2_BC_DIM_MAX #define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX #define BC_STRING_MAX _POSIX2_BC_STRING_MAX #define COLL_WEIGHTS_MAX 255 #define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX #define LINE_MAX _POSIX2_LINE_MAX #define CHARCLASS_NAME_MAX 2048 #define RE_DUP_MAX (0x7fff) # 200 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/limits.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/xopen_lim.h" 1 3 4 # 30 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/xopen_lim.h" 3 4 #define _XOPEN_LIM_H 1 # 62 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/xopen_lim.h" 3 4 #define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/uio_lim.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/uio_lim.h" 3 4 #define _BITS_UIO_LIM_H 1 # 30 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/uio_lim.h" 3 4 #define __IOV_MAX 1024 # 65 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/xopen_lim.h" 2 3 4 #define IOV_MAX __IOV_MAX #define NL_ARGMAX _POSIX_ARG_MAX #define NL_LANGMAX _POSIX2_LINE_MAX #define NL_MSGMAX INT_MAX #define NL_NMAX INT_MAX #define NL_SETMAX INT_MAX #define NL_TEXTMAX INT_MAX #define NZERO 20 # 114 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/xopen_lim.h" 3 4 #define WORD_BIT 32 # 137 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/xopen_lim.h" 3 4 #define LONG_BIT 64 # 204 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/limits.h" 2 3 4 # 211 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/limits.h" 2 3 4 # 8 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/syslimits.h" 2 3 4 #undef _GCC_NEXT_LIMITS_H # 35 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/limits.h" 2 3 4 # 60 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/limits.h" 3 4 #define _LIMITS_H___ #undef CHAR_BIT #define CHAR_BIT __CHAR_BIT__ #undef SCHAR_MIN #define SCHAR_MIN (-SCHAR_MAX - 1) #undef SCHAR_MAX #define SCHAR_MAX __SCHAR_MAX__ #undef UCHAR_MAX #define UCHAR_MAX (SCHAR_MAX * 2 + 1) # 96 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/limits.h" 3 4 #undef CHAR_MIN #define CHAR_MIN SCHAR_MIN #undef CHAR_MAX #define CHAR_MAX SCHAR_MAX #undef SHRT_MIN #define SHRT_MIN (-SHRT_MAX - 1) #undef SHRT_MAX #define SHRT_MAX __SHRT_MAX__ #undef USHRT_MAX #define USHRT_MAX (SHRT_MAX * 2 + 1) #undef INT_MIN #define INT_MIN (-INT_MAX - 1) #undef INT_MAX #define INT_MAX __INT_MAX__ #undef UINT_MAX #define UINT_MAX (INT_MAX * 2U + 1U) #undef LONG_MIN #define LONG_MIN (-LONG_MAX - 1L) #undef LONG_MAX #define LONG_MAX __LONG_MAX__ #undef ULONG_MAX #define ULONG_MAX (LONG_MAX * 2UL + 1UL) #undef LLONG_MIN #define LLONG_MIN (-LLONG_MAX - 1LL) #undef LLONG_MAX #define LLONG_MAX __LONG_LONG_MAX__ #undef ULLONG_MAX #define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) #undef LONG_LONG_MIN #define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL) #undef LONG_LONG_MAX #define LONG_LONG_MAX __LONG_LONG_MAX__ #undef ULONG_LONG_MAX #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL) # 168 "system.h" 2 # 1 "hwint.h" 1 # 10 "hwint.h" #define GCC_HWINT_H #define HOST_BITS_PER_CHAR CHAR_BIT #define HOST_BITS_PER_SHORT (CHAR_BIT * SIZEOF_SHORT) #define HOST_BITS_PER_INT (CHAR_BIT * SIZEOF_INT) #define HOST_BITS_PER_LONG (CHAR_BIT * SIZEOF_LONG) #define HOST_BITS_PER_LONGLONG (CHAR_BIT * SIZEOF_LONG_LONG) # 67 "hwint.h" #define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG #define HOST_WIDE_INT long # 84 "hwint.h" #define HOST_WIDE_INT_PRINT_DEC "%ld" # 100 "hwint.h" #define HOST_WIDE_INT_PRINT_UNSIGNED "%lu" # 116 "hwint.h" #define HOST_WIDE_INT_PRINT_HEX "0x%lx" # 133 "hwint.h" #define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%016lx" # 178 "hwint.h" #define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_LONG #define HOST_WIDEST_INT long #define HOST_WIDEST_INT_PRINT_DEC "%ld" #define HOST_WIDEST_INT_PRINT_UNSIGNED "%lu" #define HOST_WIDEST_INT_PRINT_HEX "0x%lx" # 172 "system.h" 2 # 180 "system.h" #define IN_RANGE(VALUE,LOWER,UPPER) ((unsigned HOST_WIDE_INT) ((VALUE) - (LOWER)) <= ((UPPER) - (LOWER))) #define INTTYPE_SIGNED(t) (! ((t) 0 < (t) -1)) #define INTTYPE_MINIMUM(t) ((t) (INTTYPE_SIGNED (t) ? ~ (t) 0 << (sizeof(t) * CHAR_BIT - 1) : (t) 0)) #define INTTYPE_MAXIMUM(t) ((t) (~ (t) 0 - INTTYPE_MINIMUM (t))) # 207 "system.h" # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 #define _TIME_H 1 #define __need_size_t #define __need_NULL # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 30 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/time.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/time.h" 3 4 #define _BITS_TIME_H 1 # 34 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/time.h" 3 4 #define CLOCKS_PER_SEC ((__clock_t) 1000000) # 46 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/time.h" 3 4 #define CLOCK_REALTIME 0 #define CLOCK_MONOTONIC 1 #define CLOCK_PROCESS_CPUTIME_ID 2 #define CLOCK_THREAD_CPUTIME_ID 3 #define CLOCK_MONOTONIC_RAW 4 #define CLOCK_REALTIME_COARSE 5 #define CLOCK_MONOTONIC_COARSE 6 #define CLOCK_BOOTTIME 7 #define CLOCK_REALTIME_ALARM 8 #define CLOCK_BOOTTIME_ALARM 9 #define CLOCK_TAI 11 #define TIMER_ABSTIME 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/timex.h" 1 3 4 # 19 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/timex.h" 3 4 #define _BITS_TIMEX_H 1 struct timex { # 58 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/timex.h" 3 4 unsigned int modes; __syscall_slong_t offset; __syscall_slong_t freq; __syscall_slong_t maxerror; __syscall_slong_t esterror; int status; __syscall_slong_t constant; __syscall_slong_t precision; __syscall_slong_t tolerance; struct timeval time; __syscall_slong_t tick; __syscall_slong_t ppsfreq; __syscall_slong_t jitter; int shift; __syscall_slong_t stabil; __syscall_slong_t jitcnt; __syscall_slong_t calcnt; __syscall_slong_t errcnt; __syscall_slong_t stbcnt; int tai; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; }; #define ADJ_OFFSET 0x0001 #define ADJ_FREQUENCY 0x0002 #define ADJ_MAXERROR 0x0004 #define ADJ_ESTERROR 0x0008 #define ADJ_STATUS 0x0010 #define ADJ_TIMECONST 0x0020 #define ADJ_TAI 0x0080 #define ADJ_SETOFFSET 0x0100 #define ADJ_MICRO 0x1000 #define ADJ_NANO 0x2000 #define ADJ_TICK 0x4000 #define ADJ_OFFSET_SINGLESHOT 0x8001 #define ADJ_OFFSET_SS_READ 0xa001 #define MOD_OFFSET ADJ_OFFSET #define MOD_FREQUENCY ADJ_FREQUENCY #define MOD_MAXERROR ADJ_MAXERROR #define MOD_ESTERROR ADJ_ESTERROR #define MOD_STATUS ADJ_STATUS #define MOD_TIMECONST ADJ_TIMECONST #define MOD_CLKB ADJ_TICK #define MOD_CLKA ADJ_OFFSET_SINGLESHOT #define MOD_TAI ADJ_TAI #define MOD_MICRO ADJ_MICRO #define MOD_NANO ADJ_NANO #define STA_PLL 0x0001 #define STA_PPSFREQ 0x0002 #define STA_PPSTIME 0x0004 #define STA_FLL 0x0008 #define STA_INS 0x0010 #define STA_DEL 0x0020 #define STA_UNSYNC 0x0040 #define STA_FREQHOLD 0x0080 #define STA_PPSSIGNAL 0x0100 #define STA_PPSJITTER 0x0200 #define STA_PPSWANDER 0x0400 #define STA_PPSERROR 0x0800 #define STA_CLOCKERR 0x1000 #define STA_NANO 0x2000 #define STA_MODE 0x4000 #define STA_CLK 0x8000 #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK) # 74 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/time.h" 2 3 4 extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 90 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/time.h" 3 4 # 34 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_tm.h" 1 3 4 #define __struct_tm_defined 1 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; const char *tm_zone; }; # 40 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 2 3 4 # 48 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_itimerspec.h" 1 3 4 #define __itimerspec_defined 1 struct itimerspec { struct timespec it_interval; struct timespec it_value; }; # 49 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 2 3 4 struct sigevent; # 65 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 #define TIME_UTC 1 extern clock_t clock (void) __attribute__ ((__nothrow__ , __leaf__)); extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); extern double difftime (time_t __time1, time_t __time0) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); # 100 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern size_t strftime (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3, 4))); extern char *strptime (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern size_t strftime_l (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern char *strptime_l (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *gmtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *localtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); # 155 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern struct tm *gmtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *localtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); # 180 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern char *asctime (const struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern char *ctime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); # 198 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern char *asctime_r (const struct tm *__restrict __tp, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); extern char *ctime_r (const time_t *__restrict __timer, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); # 218 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) __attribute__ ((__nothrow__ , __leaf__)); extern int daylight; extern long int timezone; #define __isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); # 264 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern int dysize (int __year) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 282 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern int nanosleep (const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ , __leaf__)); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 324 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern int clock_nanosleep (clockid_t __clock_id, int __flags, const struct timespec *__req, struct timespec *__rem); # 339 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_settime (timer_t __timerid, int __flags, const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) __attribute__ ((__nothrow__ , __leaf__)); # 377 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__)); extern int timespec_get (struct timespec *__ts, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 400 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern int timespec_getres (struct timespec *__ts, int __base) __attribute__ ((__nothrow__ , __leaf__)); # 426 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern int getdate_err; # 435 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern struct tm *getdate (const char *__string); # 449 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/time.h" 3 4 extern int getdate_r (const char *__restrict __string, struct tm *__restrict __resbufp); # 208 "system.h" 2 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 #define _FCNTL_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 1 3 4 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl.h" 2 3 4 #define __O_LARGEFILE 0 #define F_GETLK64 5 #define F_SETLK64 6 #define F_SETLKW64 7 struct flock { short int l_type; short int l_whence; __off_t l_start; __off_t l_len; __pid_t l_pid; }; struct flock64 { short int l_type; short int l_whence; __off64_t l_start; __off64_t l_len; __pid_t l_pid; }; # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl-linux.h" 1 3 4 # 38 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl-linux.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_iovec.h" 1 3 4 # 20 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_iovec.h" 3 4 #define __iovec_defined 1 #define __need_size_t # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 158 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 3 4 #undef NULL #define NULL ((void *)0) #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_iovec.h" 2 3 4 struct iovec { void *iov_base; size_t iov_len; }; # 39 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl-linux.h" 2 3 4 #define O_ACCMODE 0003 #define O_RDONLY 00 #define O_WRONLY 01 #define O_RDWR 02 #define O_CREAT 0100 #define O_EXCL 0200 #define O_NOCTTY 0400 #define O_TRUNC 01000 #define O_APPEND 02000 #define O_NONBLOCK 04000 #define O_NDELAY O_NONBLOCK #define O_SYNC 04010000 #define O_FSYNC O_SYNC #define O_ASYNC 020000 #define __O_DIRECTORY 0200000 #define __O_NOFOLLOW 0400000 #define __O_CLOEXEC 02000000 #define __O_DIRECT 040000 #define __O_NOATIME 01000000 #define __O_PATH 010000000 #define __O_DSYNC 010000 #define __O_TMPFILE (020000000 | __O_DIRECTORY) # 109 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl-linux.h" 3 4 #define F_GETLK F_GETLK64 #define F_SETLK F_SETLK64 #define F_SETLKW F_SETLKW64 # 132 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl-linux.h" 3 4 #define F_OFD_GETLK 36 #define F_OFD_SETLK 37 #define F_OFD_SETLKW 38 #define O_LARGEFILE __O_LARGEFILE #define O_DIRECTORY __O_DIRECTORY #define O_NOFOLLOW __O_NOFOLLOW #define O_CLOEXEC __O_CLOEXEC #define O_DIRECT __O_DIRECT #define O_NOATIME __O_NOATIME #define O_PATH __O_PATH #define O_TMPFILE __O_TMPFILE #define O_DSYNC __O_DSYNC #define O_RSYNC O_SYNC #define F_DUPFD 0 #define F_GETFD 1 #define F_SETFD 2 #define F_GETFL 3 #define F_SETFL 4 #define __F_SETOWN 8 #define __F_GETOWN 9 #define F_SETOWN __F_SETOWN #define F_GETOWN __F_GETOWN #define __F_SETSIG 10 #define __F_GETSIG 11 #define __F_SETOWN_EX 15 #define __F_GETOWN_EX 16 #define F_SETSIG __F_SETSIG #define F_GETSIG __F_GETSIG #define F_SETOWN_EX __F_SETOWN_EX #define F_GETOWN_EX __F_GETOWN_EX #define F_SETLEASE 1024 #define F_GETLEASE 1025 #define F_NOTIFY 1026 #define F_SETPIPE_SZ 1031 #define F_GETPIPE_SZ 1032 #define F_ADD_SEALS 1033 #define F_GET_SEALS 1034 #define F_GET_RW_HINT 1035 #define F_SET_RW_HINT 1036 #define F_GET_FILE_RW_HINT 1037 #define F_SET_FILE_RW_HINT 1038 #define F_DUPFD_CLOEXEC 1030 #define FD_CLOEXEC 1 #define F_RDLCK 0 #define F_WRLCK 1 #define F_UNLCK 2 #define F_EXLCK 4 #define F_SHLCK 8 #define LOCK_SH 1 #define LOCK_EX 2 #define LOCK_NB 4 #define LOCK_UN 8 #define LOCK_MAND 32 #define LOCK_READ 64 #define LOCK_WRITE 128 #define LOCK_RW 192 #define DN_ACCESS 0x00000001 #define DN_MODIFY 0x00000002 #define DN_CREATE 0x00000004 #define DN_DELETE 0x00000008 #define DN_RENAME 0x00000010 #define DN_ATTRIB 0x00000020 #define DN_MULTISHOT 0x80000000 enum __pid_type { F_OWNER_TID = 0, F_OWNER_PID, F_OWNER_PGRP, F_OWNER_GID = F_OWNER_PGRP }; struct f_owner_ex { enum __pid_type type; __pid_t pid; }; #define F_SEAL_SEAL 0x0001 #define F_SEAL_SHRINK 0x0002 #define F_SEAL_GROW 0x0004 #define F_SEAL_WRITE 0x0008 #define F_SEAL_FUTURE_WRITE 0x0010 #define F_SEAL_EXEC 0x0020 #define RWH_WRITE_LIFE_NOT_SET 0 #define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET #define RWH_WRITE_LIFE_NONE 1 #define RWH_WRITE_LIFE_SHORT 2 #define RWH_WRITE_LIFE_MEDIUM 3 #define RWH_WRITE_LIFE_LONG 4 #define RWH_WRITE_LIFE_EXTREME 5 #define FAPPEND O_APPEND #define FFSYNC O_FSYNC #define FASYNC O_ASYNC #define FNONBLOCK O_NONBLOCK #define FNDELAY O_NDELAY #define __POSIX_FADV_DONTNEED 4 #define __POSIX_FADV_NOREUSE 5 #define POSIX_FADV_NORMAL 0 #define POSIX_FADV_RANDOM 1 #define POSIX_FADV_SEQUENTIAL 2 #define POSIX_FADV_WILLNEED 3 #define POSIX_FADV_DONTNEED __POSIX_FADV_DONTNEED #define POSIX_FADV_NOREUSE __POSIX_FADV_NOREUSE #define SYNC_FILE_RANGE_WAIT_BEFORE 1 #define SYNC_FILE_RANGE_WRITE 2 #define SYNC_FILE_RANGE_WAIT_AFTER 4 #define SYNC_FILE_RANGE_WRITE_AND_WAIT (SYNC_FILE_RANGE_WRITE | SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WAIT_AFTER) #define SPLICE_F_MOVE 1 #define SPLICE_F_NONBLOCK 2 #define SPLICE_F_MORE 4 #define SPLICE_F_GIFT 8 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/falloc.h" 1 3 4 #define _FALLOC_H_ #define FALLOC_FL_KEEP_SIZE 0x01 #define FALLOC_FL_PUNCH_HOLE 0x02 #define FALLOC_FL_NO_HIDE_STALE 0x04 # 29 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/falloc.h" 3 4 #define FALLOC_FL_COLLAPSE_RANGE 0x08 # 43 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/falloc.h" 3 4 #define FALLOC_FL_ZERO_RANGE 0x10 # 60 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/falloc.h" 3 4 #define FALLOC_FL_INSERT_RANGE 0x20 # 78 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/falloc.h" 3 4 #define FALLOC_FL_UNSHARE_RANGE 0x40 # 356 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl-linux.h" 2 3 4 struct file_handle { unsigned int handle_bytes; int handle_type; unsigned char f_handle[0]; }; #define MAX_HANDLE_SZ 128 extern __ssize_t readahead (int __fd, __off64_t __offset, size_t __count) __attribute__ ((__nothrow__ , __leaf__)); extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count, unsigned int __flags); extern __ssize_t vmsplice (int __fdout, const struct iovec *__iov, size_t __count, unsigned int __flags); extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout, __off64_t *__offout, size_t __len, unsigned int __flags); extern __ssize_t tee (int __fdin, int __fdout, size_t __len, unsigned int __flags); extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); # 426 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl-linux.h" 3 4 extern int fallocate64 (int __fd, int __mode, __off64_t __offset, __off64_t __len); extern int name_to_handle_at (int __dfd, const char *__name, struct file_handle *__handle, int *__mnt_id, int __flags) __attribute__ ((__nothrow__ , __leaf__)); extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle, int __flags); # 62 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/fcntl.h" 2 3 4 # 36 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 2 3 4 #define __OPEN_NEEDS_MODE(oflag) (((oflag) & O_CREAT) != 0 || ((oflag) & __O_TMPFILE) == __O_TMPFILE) # 78 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stat.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stat.h" 3 4 #define _BITS_STAT_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_stat.h" 1 3 4 # 24 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_stat.h" 3 4 #define _BITS_STRUCT_STAT_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 1 3 4 # 18 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 28 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_stat.h" 2 3 4 #define __field64(type,type64,name) type name # 44 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_stat.h" 3 4 struct stat { __dev_t st_dev; __ino_t st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; __dev_t __pad1; __off_t st_size; __blksize_t st_blksize; int __pad2; __blkcnt_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; #define st_atime st_atim.tv_sec #define st_mtime st_mtim.tv_sec #define st_ctime st_ctim.tv_sec # 79 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_stat.h" 3 4 int __glibc_reserved[2]; }; #undef __field64 struct stat64 { __dev_t st_dev; __ino64_t st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; __dev_t __pad1; __off64_t st_size; __blksize_t st_blksize; int __pad2; __blkcnt64_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 117 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/struct_stat.h" 3 4 int __glibc_reserved[2]; }; #define _STATBUF_ST_BLKSIZE #define _STATBUF_ST_RDEV #define _STATBUF_ST_NSEC # 26 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stat.h" 2 3 4 #define __S_IFMT 0170000 #define __S_IFDIR 0040000 #define __S_IFCHR 0020000 #define __S_IFBLK 0060000 #define __S_IFREG 0100000 #define __S_IFIFO 0010000 #define __S_IFLNK 0120000 #define __S_IFSOCK 0140000 #define __S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode) #define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode) #define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode) #define __S_ISUID 04000 #define __S_ISGID 02000 #define __S_ISVTX 01000 #define __S_IREAD 0400 #define __S_IWRITE 0200 #define __S_IEXEC 0100 #define UTIME_NOW ((1l << 30) - 1l) #define UTIME_OMIT ((1l << 30) - 2l) # 79 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 2 3 4 #define S_IFMT __S_IFMT #define S_IFDIR __S_IFDIR #define S_IFCHR __S_IFCHR #define S_IFBLK __S_IFBLK #define S_IFREG __S_IFREG #define S_IFIFO __S_IFIFO #define S_IFLNK __S_IFLNK #define S_IFSOCK __S_IFSOCK #define S_ISUID __S_ISUID #define S_ISGID __S_ISGID #define S_ISVTX __S_ISVTX #define S_IRUSR __S_IREAD #define S_IWUSR __S_IWRITE #define S_IXUSR __S_IEXEC #define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC) #define S_IRGRP (S_IRUSR >> 3) #define S_IWGRP (S_IWUSR >> 3) #define S_IXGRP (S_IXUSR >> 3) #define S_IRWXG (S_IRWXU >> 3) #define S_IROTH (S_IRGRP >> 3) #define S_IWOTH (S_IWGRP >> 3) #define S_IXOTH (S_IXGRP >> 3) #define S_IRWXO (S_IRWXG >> 3) # 137 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 #define SEEK_SET 0 #define SEEK_CUR 1 #define SEEK_END 2 # 149 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 #define AT_FDCWD -100 #define AT_SYMLINK_NOFOLLOW 0x100 #define AT_REMOVEDIR 0x200 #define AT_SYMLINK_FOLLOW 0x400 #define AT_NO_AUTOMOUNT 0x800 #define AT_EMPTY_PATH 0x1000 #define AT_STATX_SYNC_TYPE 0x6000 #define AT_STATX_SYNC_AS_STAT 0x0000 #define AT_STATX_FORCE_SYNC 0x2000 #define AT_STATX_DONT_SYNC 0x4000 #define AT_RECURSIVE 0x8000 #define AT_EACCESS 0x200 # 177 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int fcntl (int __fd, int __cmd, ...); # 186 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int fcntl64 (int __fd, int __cmd, ...); # 209 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int open (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1))); # 219 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int open64 (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1))); # 233 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int openat (int __fd, const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (2))); # 244 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int openat64 (int __fd, const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (2))); # 255 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int creat (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1))); # 265 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int creat64 (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1))); # 301 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int posix_fadvise (int __fd, off_t __offset, off_t __len, int __advise) __attribute__ ((__nothrow__ , __leaf__)); # 313 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len, int __advise) __attribute__ ((__nothrow__ , __leaf__)); # 323 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int posix_fallocate (int __fd, off_t __offset, off_t __len); # 334 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len); # 345 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/fcntl.h" 3 4 # 214 "system.h" 2 # 242 "system.h" #undef MIN #undef MAX #define MIN(X,Y) ((X) < (Y) ? (X) : (Y)) #define MAX(X,Y) ((X) > (Y) ? (X) : (Y)) #define CEIL(x,y) (((x) + (y) - 1) / (y)) # 312 "system.h" # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/malloc.h" 1 3 4 # 21 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/malloc.h" 3 4 #define _MALLOC_H 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/malloc.h" 2 3 4 #define __MALLOC_HOOK_VOLATILE volatile #define __MALLOC_DEPRECATED __attribute_deprecated__ extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1))) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2, 3))) __attribute__ ((__malloc__ (__builtin_free, 1))); extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); extern void *memalign (size_t __alignment, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__malloc__ (__builtin_free, 1))); extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1))) __attribute__ ((__malloc__ (__builtin_free, 1))); extern void *pvalloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); struct mallinfo { int arena; int ordblks; int smblks; int hblks; int hblkhd; int usmblks; int fsmblks; int uordblks; int fordblks; int keepcost; }; struct mallinfo2 { size_t arena; size_t ordblks; size_t smblks; size_t hblks; size_t hblkhd; size_t usmblks; size_t fsmblks; size_t uordblks; size_t fordblks; size_t keepcost; }; extern struct mallinfo mallinfo (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern struct mallinfo2 mallinfo2 (void) __attribute__ ((__nothrow__ , __leaf__)); #define M_MXFAST 1 #define M_NLBLKS 2 #define M_GRAIN 3 #define M_KEEP 4 #define M_TRIM_THRESHOLD -1 #define M_TOP_PAD -2 #define M_MMAP_THRESHOLD -3 #define M_MMAP_MAX -4 #define M_CHECK_ACTION -5 #define M_PERTURB -6 #define M_ARENA_TEST -7 #define M_ARENA_MAX -8 extern int mallopt (int __param, int __val) __attribute__ ((__nothrow__ , __leaf__)); extern int malloc_trim (size_t __pad) __attribute__ ((__nothrow__ , __leaf__)); extern size_t malloc_usable_size (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); extern void malloc_stats (void) __attribute__ ((__nothrow__ , __leaf__)); extern int malloc_info (int __options, FILE *__fp) __attribute__ ((__nothrow__ , __leaf__)); # 313 "system.h" 2 # 369 "system.h" #define HAVE_DESIGNATED_INITIALIZERS ((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L)) #define HAVE__BOOL ((GCC_VERSION >= 3000) || (__STDC_VERSION__ >= 199901L)) # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 1 3 4 # 23 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 #define _SYS_STAT_H 1 # 99 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/stat.h" 1 3 4 # 102 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 2 3 4 #define S_IFMT __S_IFMT #define S_IFDIR __S_IFDIR #define S_IFCHR __S_IFCHR #define S_IFBLK __S_IFBLK #define S_IFREG __S_IFREG #define S_IFIFO __S_IFIFO #define S_IFLNK __S_IFLNK #define S_IFSOCK __S_IFSOCK #define __S_ISTYPE(mode,mask) (((mode) & __S_IFMT) == (mask)) #define S_ISDIR(mode) __S_ISTYPE((mode), __S_IFDIR) #define S_ISCHR(mode) __S_ISTYPE((mode), __S_IFCHR) #define S_ISBLK(mode) __S_ISTYPE((mode), __S_IFBLK) #define S_ISREG(mode) __S_ISTYPE((mode), __S_IFREG) #define S_ISFIFO(mode) __S_ISTYPE((mode), __S_IFIFO) #define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK) # 142 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 #define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK) # 152 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 #define S_TYPEISMQ(buf) __S_TYPEISMQ(buf) #define S_TYPEISSEM(buf) __S_TYPEISSEM(buf) #define S_TYPEISSHM(buf) __S_TYPEISSHM(buf) #define S_ISUID __S_ISUID #define S_ISGID __S_ISGID #define S_ISVTX __S_ISVTX #define S_IRUSR __S_IREAD #define S_IWUSR __S_IWRITE #define S_IXUSR __S_IEXEC #define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC) #define S_IREAD S_IRUSR #define S_IWRITE S_IWUSR #define S_IEXEC S_IXUSR #define S_IRGRP (S_IRUSR >> 3) #define S_IWGRP (S_IWUSR >> 3) #define S_IXGRP (S_IXUSR >> 3) #define S_IRWXG (S_IRWXU >> 3) #define S_IROTH (S_IRGRP >> 3) #define S_IWOTH (S_IWGRP >> 3) #define S_IXOTH (S_IXGRP >> 3) #define S_IRWXO (S_IRWXG >> 3) #define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) #define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) #define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) #define S_BLKSIZE 512 extern int stat (const char *__restrict __file, struct stat *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int fstat (int __fd, struct stat *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 240 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 extern int stat64 (const char *__restrict __file, struct stat64 *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int fstat64 (int __fd, struct stat64 *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 264 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 extern int fstatat (int __fd, const char *__restrict __file, struct stat *__restrict __buf, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 291 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 extern int fstatat64 (int __fd, const char *__restrict __file, struct stat64 *__restrict __buf, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 313 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 extern int lstat (const char *__restrict __file, struct stat *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); # 338 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 extern int lstat64 (const char *__restrict __file, struct stat64 *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); # 352 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 extern int chmod (const char *__file, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int lchmod (const char *__file, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)); extern int fchmodat (int __fd, const char *__file, __mode_t __mode, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ; extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__ , __leaf__)); extern __mode_t getumask (void) __attribute__ ((__nothrow__ , __leaf__)); extern int mkdir (const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int mkdirat (int __fd, const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int mknodat (int __fd, const char *__path, __mode_t __mode, __dev_t __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int mkfifo (const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int mkfifoat (int __fd, const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int utimensat (int __fd, const char *__path, const struct timespec __times[2], int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 452 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 extern int futimens (int __fd, const struct timespec __times[2]) __attribute__ ((__nothrow__ , __leaf__)); # 465 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/statx.h" 1 3 4 # 31 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/statx.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/stat.h" 1 3 4 #define _LINUX_STAT_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/types.h" 1 3 4 #define _LINUX_TYPES_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm/types.h" 1 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/types.h" 1 3 4 #define _ASM_GENERIC_TYPES_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/int-ll64.h" 1 3 4 # 10 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/int-ll64.h" 3 4 #define _ASM_GENERIC_INT_LL64_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm/bitsperlong.h" 1 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/bitsperlong.h" 1 3 4 #define __ASM_GENERIC_BITS_PER_LONG # 14 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/bitsperlong.h" 3 4 #define __BITS_PER_LONG (__CHAR_BIT__ * __SIZEOF_LONG__) # 2 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm/bitsperlong.h" 2 3 4 # 13 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/int-ll64.h" 2 3 4 typedef __signed__ char __s8; typedef unsigned char __u8; typedef __signed__ short __s16; typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; __extension__ typedef __signed__ long long __s64; __extension__ typedef unsigned long long __u64; # 8 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/types.h" 2 3 4 # 2 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm/types.h" 2 3 4 # 6 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/types.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/posix_types.h" 1 3 4 #define _LINUX_POSIX_TYPES_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/stddef.h" 1 3 4 #define _LINUX_STDDEF_H # 26 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/stddef.h" 3 4 #define __struct_group(TAG,NAME,ATTRS,MEMBERS...) union { struct { MEMBERS } ATTRS; struct TAG { MEMBERS } ATTRS NAME; } # 47 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/stddef.h" 3 4 #define __DECLARE_FLEX_ARRAY(TYPE,NAME) struct { struct { } __empty_ ## NAME; TYPE NAME[]; } #define __counted_by(m) # 6 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/posix_types.h" 2 3 4 # 22 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/posix_types.h" 3 4 #undef __FD_SETSIZE #define __FD_SETSIZE 1024 typedef struct { unsigned long fds_bits[1024 / (8 * sizeof(long))]; } __kernel_fd_set; typedef void (*__kernel_sighandler_t)(int); typedef int __kernel_key_t; typedef int __kernel_mqd_t; # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm/posix_types.h" 1 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/posix_types.h" 1 3 4 #define __ASM_GENERIC_POSIX_TYPES_H # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm/bitsperlong.h" 1 3 4 # 6 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/posix_types.h" 2 3 4 # 15 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/posix_types.h" 3 4 typedef long __kernel_long_t; typedef unsigned long __kernel_ulong_t; typedef __kernel_ulong_t __kernel_ino_t; typedef unsigned int __kernel_mode_t; typedef int __kernel_pid_t; typedef int __kernel_ipc_pid_t; typedef unsigned int __kernel_uid_t; typedef unsigned int __kernel_gid_t; typedef __kernel_long_t __kernel_suseconds_t; typedef int __kernel_daddr_t; typedef unsigned int __kernel_uid32_t; typedef unsigned int __kernel_gid32_t; typedef __kernel_uid_t __kernel_old_uid_t; typedef __kernel_gid_t __kernel_old_gid_t; typedef unsigned int __kernel_old_dev_t; # 72 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm-generic/posix_types.h" 3 4 typedef __kernel_ulong_t __kernel_size_t; typedef __kernel_long_t __kernel_ssize_t; typedef __kernel_long_t __kernel_ptrdiff_t; typedef struct { int val[2]; } __kernel_fsid_t; typedef __kernel_long_t __kernel_off_t; typedef long long __kernel_loff_t; typedef __kernel_long_t __kernel_old_time_t; typedef __kernel_long_t __kernel_time_t; typedef long long __kernel_time64_t; typedef __kernel_long_t __kernel_clock_t; typedef int __kernel_timer_t; typedef int __kernel_clockid_t; typedef char * __kernel_caddr_t; typedef unsigned short __kernel_uid16_t; typedef unsigned short __kernel_gid16_t; # 2 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/asm/posix_types.h" 2 3 4 # 37 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/posix_types.h" 2 3 4 # 10 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/types.h" 2 3 4 typedef __signed__ __int128 __s128 __attribute__((aligned(16))); typedef unsigned __int128 __u128 __attribute__((aligned(16))); # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/types.h" 3 4 #define __bitwise #define __bitwise__ __bitwise typedef __u16 __le16; typedef __u16 __be16; typedef __u32 __le32; typedef __u32 __be32; typedef __u64 __le64; typedef __u64 __be64; typedef __u16 __sum16; typedef __u32 __wsum; # 50 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/types.h" 3 4 #define __aligned_u64 __u64 __attribute__((aligned(8))) #define __aligned_be64 __be64 __attribute__((aligned(8))) #define __aligned_le64 __le64 __attribute__((aligned(8))) typedef unsigned __poll_t; # 6 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/stat.h" 2 3 4 # 56 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/stat.h" 3 4 struct statx_timestamp { __s64 tv_sec; __u32 tv_nsec; __s32 __reserved; }; # 99 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/stat.h" 3 4 struct statx { __u32 stx_mask; __u32 stx_blksize; __u64 stx_attributes; __u32 stx_nlink; __u32 stx_uid; __u32 stx_gid; __u16 stx_mode; __u16 __spare0[1]; __u64 stx_ino; __u64 stx_size; __u64 stx_blocks; __u64 stx_attributes_mask; struct statx_timestamp stx_atime; struct statx_timestamp stx_btime; struct statx_timestamp stx_ctime; struct statx_timestamp stx_mtime; __u32 stx_rdev_major; __u32 stx_rdev_minor; __u32 stx_dev_major; __u32 stx_dev_minor; __u64 stx_mnt_id; __u32 stx_dio_mem_align; __u32 stx_dio_offset_align; __u64 __spare3[12]; }; # 142 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/stat.h" 3 4 #define STATX_TYPE 0x00000001U #define STATX_MODE 0x00000002U #define STATX_NLINK 0x00000004U #define STATX_UID 0x00000008U #define STATX_GID 0x00000010U #define STATX_ATIME 0x00000020U #define STATX_MTIME 0x00000040U #define STATX_CTIME 0x00000080U #define STATX_INO 0x00000100U #define STATX_SIZE 0x00000200U #define STATX_BLOCKS 0x00000400U #define STATX_BASIC_STATS 0x000007ffU #define STATX_BTIME 0x00000800U #define STATX_MNT_ID 0x00001000U #define STATX_DIOALIGN 0x00002000U #define STATX__RESERVED 0x80000000U #define STATX_ALL 0x00000fffU # 181 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/linux/stat.h" 3 4 #define STATX_ATTR_COMPRESSED 0x00000004 #define STATX_ATTR_IMMUTABLE 0x00000010 #define STATX_ATTR_APPEND 0x00000020 #define STATX_ATTR_NODUMP 0x00000040 #define STATX_ATTR_ENCRYPTED 0x00000800 #define STATX_ATTR_AUTOMOUNT 0x00001000 #define STATX_ATTR_MOUNT_ROOT 0x00002000 #define STATX_ATTR_VERITY 0x00100000 #define STATX_ATTR_DAX 0x00200000 # 32 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/statx.h" 2 3 4 #define __statx_timestamp_defined 1 #define __statx_defined 1 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/statx-generic.h" 1 3 4 # 25 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/statx-generic.h" 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_statx_timestamp.h" 1 3 4 # 26 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/statx-generic.h" 2 3 4 # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/types/struct_statx.h" 1 3 4 # 27 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/statx-generic.h" 2 3 4 # 58 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/statx-generic.h" 3 4 int statx (int __dirfd, const char *__restrict __path, int __flags, unsigned int __mask, struct statx *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 5))); # 40 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/bits/statx.h" 2 3 4 # 466 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/loongarch64-linux-gnu/sysroot/usr/include/sys/stat.h" 2 3 4 # 382 "system.h" 2 # 454 "system.h" #define HOST_PTR_PRINTF "%p" # 464 "system.h" #define PATH_SEPARATOR ':' #define DIR_SEPARATOR '/' #define IS_DIR_SEPARATOR(CH) ((CH) == DIR_SEPARATOR) # 488 "system.h" #define IS_ABSOLUTE_PATHNAME(STR) (IS_DIR_SEPARATOR ((STR)[0]) || (STR)[0] == '$') # 1 "libiberty.h" 1 # 36 "libiberty.h" #define LIBIBERTY_H # 46 "libiberty.h" # 1 "/home/chenglulu/work/loongisa-toolchain/new_toolchain/install/loongarch64-linux-gnu-trunk/lib/gcc/loongarch64-linux-gnu/14.0.1/include/stddef.h" 1 3 4 # 47 "libiberty.h" 2 # 59 "libiberty.h" # 59 "libiberty.h" extern char **buildargv (const char *) __attribute__ ((__malloc__)); extern void freeargv (char **); extern char **dupargv (char **) __attribute__ ((__malloc__)); # 82 "libiberty.h" extern char *basename (const char *); # 91 "libiberty.h" extern const char *lbasename (const char *); extern char *concat (const char *, ...) __attribute__ ((__malloc__)); # 106 "libiberty.h" extern char *reconcat (char *, const char *, ...) __attribute__ ((__malloc__)); extern unsigned long concat_length (const char *, ...); extern char *concat_copy (char *, const char *, ...); extern char *concat_copy2 (const char *, ...); extern char *libiberty_concat_ptr; #define ACONCAT(ACONCAT_PARAMS) (libiberty_concat_ptr = alloca (concat_length ACONCAT_PARAMS + 1), concat_copy2 ACONCAT_PARAMS) extern int fdmatch (int fd1, int fd2); extern char * getpwd (void); extern long get_run_time (void); extern char *choose_temp_base (void) __attribute__ ((__malloc__)); extern char *make_temp_file (const char *) __attribute__ ((__malloc__)); extern const char *spaces (int count); extern int errno_max (void); extern const char *strerrno (int); extern int strtoerrno (const char *); extern char *xstrerror (int); extern int signo_max (void); # 198 "libiberty.h" extern const char *strsigno (int); extern int strtosigno (const char *); extern int xatexit (void (*fn) (void)); extern void xexit (int status) __attribute__ ((__noreturn__)); extern void xmalloc_set_program_name (const char *); extern void xmalloc_failed (size_t) __attribute__ ((__noreturn__)); extern void * xmalloc (size_t) __attribute__ ((__malloc__)); extern void * xrealloc (void *, size_t); extern void * xcalloc (size_t, size_t) __attribute__ ((__malloc__)); extern char *xstrdup (const char *) __attribute__ ((__malloc__)); extern void * xmemdup (const void *, size_t, size_t) __attribute__ ((__malloc__)); extern void specqsort (void *, int, int, int (*)() ); #define _hex_array_size 256 #define _hex_bad 99 extern const char _hex_value[256]; extern void hex_init (void); #define hex_p(c) (hex_value (c) != _hex_bad) #define hex_value(c) (_hex_value[(unsigned char) (c)]) #define PEXECUTE_FIRST 1 #define PEXECUTE_LAST 2 #define PEXECUTE_ONE (PEXECUTE_FIRST + PEXECUTE_LAST) #define PEXECUTE_SEARCH 4 #define PEXECUTE_VERBOSE 8 extern int pexecute (const char *, char * const *, const char *, const char *, char **, char **, int) ; extern int pwait (int, int *, int); extern int asprintf (char **, const char *, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int vasprintf (char **, const char *, va_list) __attribute__ ((__format__ (__printf__, 2, 0))); #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) # 494 "system.h" 2 # 1 "symcat.h" 1 # 20 "symcat.h" #define SYM_CAT_H #define CONCAT2(a,b) a ##b #define CONCAT3(a,b,c) a ##b ##c #define CONCAT4(a,b,c,d) a ##b ##c ##d #define STRINGX(s) #s # 38 "symcat.h" #define XCONCAT2(a,b) CONCAT2(a,b) #define XCONCAT3(a,b,c) CONCAT3(a,b,c) #define XCONCAT4(a,b,c,d) CONCAT4(a,b,c,d) #define XSTRING(s) STRINGX(s) # 495 "system.h" 2 #define HOST_BIT_BUCKET "/dev/null" # 509 "system.h" #define ENUM_BITFIELD(TYPE) unsigned int # 527 "system.h" #define UNION_INIT_ZERO , {0} # 549 "system.h" #undef bool #undef true #undef false #undef TRUE #undef FALSE #define bool _Bool #define true 1 #define false 0 #define TRUE true #define FALSE false # 580 "system.h" #define really_call_malloc malloc #define really_call_calloc calloc #define really_call_realloc realloc # 626 "system.h" #undef bcopy #undef bzero #undef bcmp #undef rindex # 25 "regrename.c" 2 # 1 "rtl.h" 1 # 23 "rtl.h" #define GCC_RTL_H struct function; # 1 "machmode.h" 1 # 23 "machmode.h" #define HAVE_MACHINE_MODES #define DEF_MACHMODE(SYM,NAME,TYPE,BITSIZE,SIZE,UNIT,WIDER,INNER) SYM, enum machine_mode { # 1 "machmode.def" 1 # 74 "machmode.def" VOIDmode, BImode, QImode, HImode, SImode, DImode, TImode, OImode, PQImode, PHImode, PSImode, PDImode, QFmode, HFmode, TQFmode, SFmode, DFmode, XFmode, TFmode, QCmode, HCmode, SCmode, DCmode, XCmode, TCmode, CQImode, CHImode, CSImode, CDImode, CTImode, COImode, V2QImode, V2HImode, V2SImode, V2DImode, V4QImode, V4HImode, V4SImode, V4DImode, V8QImode, V8HImode, V8SImode, V8DImode, V16QImode, V2SFmode, V2DFmode, V4SFmode, V4DFmode, V8SFmode, V8DFmode, V16SFmode, BLKmode, #define CC(E,M) DEF_MACHMODE (E, M, MODE_CC, BITS_PER_UNIT*4, 4, 4, VOIDmode, VOIDmode) CCmode, CCGCmode, CCGOCmode, CCNOmode, CCZmode, CCFPmode, CCFPUmode, #undef CC # 31 "machmode.h" 2 MAX_MACHINE_MODE }; #undef DEF_MACHMODE #define NUM_MACHINE_MODES (int) MAX_MACHINE_MODE extern const char * const mode_name[(int) MAX_MACHINE_MODE]; #define GET_MODE_NAME(MODE) (mode_name[(int) (MODE)]) enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC, MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MODE_VECTOR_INT, MODE_VECTOR_FLOAT, MAX_MODE_CLASS}; extern const enum mode_class mode_class[(int) MAX_MACHINE_MODE]; #define GET_MODE_CLASS(MODE) (mode_class[(int) (MODE)]) #define INTEGRAL_MODE_P(MODE) (GET_MODE_CLASS (MODE) == MODE_INT || GET_MODE_CLASS (MODE) == MODE_PARTIAL_INT || GET_MODE_CLASS (MODE) == MODE_COMPLEX_INT || GET_MODE_CLASS (MODE) == MODE_VECTOR_INT) #define FLOAT_MODE_P(MODE) (GET_MODE_CLASS (MODE) == MODE_FLOAT || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT || GET_MODE_CLASS (MODE) == MODE_VECTOR_FLOAT) #define COMPLEX_MODE_P(MODE) (GET_MODE_CLASS (MODE) == MODE_COMPLEX_INT || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) #define VECTOR_MODE_P(MODE) (GET_MODE_CLASS (MODE) == MODE_VECTOR_INT || GET_MODE_CLASS (MODE) == MODE_VECTOR_FLOAT) extern const unsigned char mode_size[(int) MAX_MACHINE_MODE]; #define GET_MODE_SIZE(MODE) (mode_size[(int) (MODE)]) extern const unsigned char mode_unit_size[(int) MAX_MACHINE_MODE]; #define GET_MODE_UNIT_SIZE(MODE) (mode_unit_size[(int) (MODE)]) #define GET_MODE_NUNITS(MODE) ((GET_MODE_UNIT_SIZE ((MODE)) == 0) ? 0 : (GET_MODE_SIZE ((MODE)) / GET_MODE_UNIT_SIZE ((MODE)))) extern const unsigned short mode_bitsize[(int) MAX_MACHINE_MODE]; #define GET_MODE_BITSIZE(MODE) (mode_bitsize[(int) (MODE)]) # 106 "machmode.h" extern const unsigned long mode_mask_array[(int) MAX_MACHINE_MODE]; #define GET_MODE_MASK(MODE) mode_mask_array[(int) (MODE)] extern const enum machine_mode inner_mode_array[(int) MAX_MACHINE_MODE]; #define GET_MODE_INNER(MODE) inner_mode_array[(int) (MODE)] # 123 "machmode.h" extern const unsigned char mode_wider_mode[(int) MAX_MACHINE_MODE]; #define GET_MODE_WIDER_MODE(MODE) ((enum machine_mode)mode_wider_mode[(int) (MODE)]) extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ; extern enum machine_mode smallest_mode_for_size (unsigned int, enum mode_class); extern enum machine_mode int_mode_for_mode (enum machine_mode); extern enum machine_mode get_best_mode (int, int, unsigned int, enum machine_mode, int) ; extern unsigned get_mode_alignment (enum machine_mode); #define GET_MODE_ALIGNMENT(MODE) get_mode_alignment (MODE) extern const enum machine_mode class_narrowest_mode[(int) MAX_MODE_CLASS]; #define GET_CLASS_NARROWEST_MODE(CLASS) class_narrowest_mode[(int) (CLASS)] extern enum machine_mode byte_mode; extern enum machine_mode word_mode; extern enum machine_mode ptr_mode; # 28 "rtl.h" 2 #undef FFS #undef FLOAT #undef ABS #undef PC #define NOOP_MOVE_INSN_CODE INT_MAX #define RTX_CODE enum rtx_code enum rtx_code { #define DEF_RTL_EXPR(ENUM,NAME,FORMAT,CLASS) ENUM , # 1 "rtl.def" 1 # 70 "rtl.def" UNKNOWN , NIL , INCLUDE , EXPR_LIST , INSN_LIST , # 129 "rtl.def" MATCH_OPERAND , MATCH_SCRATCH , MATCH_DUP , MATCH_OPERATOR , # 158 "rtl.def" MATCH_PARALLEL , MATCH_OP_DUP , MATCH_PAR_DUP , MATCH_INSN , # 192 "rtl.def" DEFINE_INSN , DEFINE_PEEPHOLE , # 211 "rtl.def" DEFINE_SPLIT , # 239 "rtl.def" DEFINE_INSN_AND_SPLIT , DEFINE_PEEPHOLE2 , DEFINE_COMBINE , # 260 "rtl.def" DEFINE_EXPAND , # 276 "rtl.def" DEFINE_DELAY , # 317 "rtl.def" DEFINE_FUNCTION_UNIT , DEFINE_ASM_ATTRIBUTES , # 333 "rtl.def" DEFINE_COND_EXEC , SEQUENCE , ADDRESS , # 353 "rtl.def" DEFINE_ATTR , ATTR , SET_ATTR , # 379 "rtl.def" SET_ATTR_ALTERNATIVE , EQ_ATTR , # 394 "rtl.def" ATTR_FLAG , # 407 "rtl.def" INSN , JUMP_INSN , CALL_INSN , BARRIER , # 430 "rtl.def" CODE_LABEL , NOTE , # 450 "rtl.def" COND_EXEC , PARALLEL , ASM_INPUT , # 475 "rtl.def" ASM_OPERANDS , # 486 "rtl.def" UNSPEC , UNSPEC_VOLATILE , ADDR_VEC , # 518 "rtl.def" ADDR_DIFF_VEC , # 529 "rtl.def" PREFETCH , # 541 "rtl.def" SET , USE , CLOBBER , CALL , RETURN , TRAP_IF , RESX , CONST_INT , CONST_DOUBLE , CONST_VECTOR , CONST_STRING , CONST , PC , VALUE , # 614 "rtl.def" REG , SCRATCH , # 631 "rtl.def" SUBREG , # 644 "rtl.def" STRICT_LOW_PART , CONCAT , MEM , LABEL_REF , SYMBOL_REF , CC0 , # 683 "rtl.def" ADDRESSOF , # 701 "rtl.def" QUEUED , # 713 "rtl.def" IF_THEN_ELSE , # 722 "rtl.def" COND , COMPARE , PLUS , MINUS , NEG , MULT , DIV , MOD , UDIV , UMOD , AND , IOR , XOR , NOT , ASHIFT , ROTATE , ASHIFTRT , LSHIFTRT , ROTATERT , SMIN , SMAX , UMIN , UMAX , # 781 "rtl.def" PRE_DEC , PRE_INC , POST_DEC , POST_INC , # 798 "rtl.def" PRE_MODIFY , POST_MODIFY , NE , EQ , GE , GT , LE , LT , GEU , GTU , LEU , LTU , UNORDERED , ORDERED , UNEQ , UNGE , UNGT , UNLE , UNLT , LTGT , SIGN_EXTEND , ZERO_EXTEND , TRUNCATE , FLOAT_EXTEND , FLOAT_TRUNCATE , FLOAT , FIX , UNSIGNED_FLOAT , UNSIGNED_FIX , ABS , SQRT , FFS , # 882 "rtl.def" SIGN_EXTRACT , ZERO_EXTRACT , HIGH , LO_SUM , # 907 "rtl.def" RANGE_INFO , # 922 "rtl.def" RANGE_REG , RANGE_VAR , RANGE_LIVE , CONSTANT_P_RTX , # 958 "rtl.def" CALL_PLACEHOLDER , VEC_MERGE , VEC_SELECT , VEC_CONCAT , VEC_DUPLICATE , SS_PLUS , US_PLUS , SS_MINUS , US_MINUS , SS_TRUNCATE , US_TRUNCATE , # 1014 "rtl.def" PHI , # 45 "rtl.h" 2 #undef DEF_RTL_EXPR LAST_AND_UNUSED_RTX_CODE}; #define NUM_RTX_CODE ((int) LAST_AND_UNUSED_RTX_CODE) extern const unsigned char rtx_length[((int) LAST_AND_UNUSED_RTX_CODE)]; #define GET_RTX_LENGTH(CODE) (rtx_length[(int) (CODE)]) extern const char * const rtx_name[((int) LAST_AND_UNUSED_RTX_CODE)]; #define GET_RTX_NAME(CODE) (rtx_name[(int) (CODE)]) extern const char * const rtx_format[((int) LAST_AND_UNUSED_RTX_CODE)]; #define GET_RTX_FORMAT(CODE) (rtx_format[(int) (CODE)]) extern const char rtx_class[((int) LAST_AND_UNUSED_RTX_CODE)]; #define GET_RTX_CLASS(CODE) (rtx_class[(int) (CODE)]) typedef struct { unsigned min_align: 8; unsigned base_after_vec: 1; unsigned min_after_vec: 1; unsigned max_after_vec: 1; unsigned min_after_base: 1; unsigned max_after_base: 1; unsigned offset_unsigned: 1; unsigned : 2; unsigned scale : 8; } addr_diff_vec_flags; typedef struct { long alias; tree expr; rtx offset; rtx size; unsigned int align; } mem_attrs; typedef union rtunion_def { long rtwint; int rtint; unsigned int rtuint; const char *rtstr; rtx rtx; rtvec rtvec; enum machine_mode rttype; addr_diff_vec_flags rt_addr_diff_vec_flags; struct cselib_val_struct *rt_cselib; struct bitmap_head_def *rtbit; tree rttree; struct basic_block_def *bb; mem_attrs *rtmem; } rtunion; struct rtx_def { unsigned int code: 16; unsigned int mode : 8; unsigned int jump : 1; unsigned int call : 1; # 149 "rtl.h" unsigned int unchanging : 1; unsigned int volatil : 1; # 175 "rtl.h" unsigned int in_struct : 1; unsigned int used : 1; unsigned integrated : 1; # 196 "rtl.h" unsigned frame_related : 1; rtunion fld[1]; }; #define NULL_RTX (rtx) 0 #define GET_CODE(RTX) ((enum rtx_code) (RTX)->code) #define PUT_CODE(RTX,CODE) ((RTX)->code = (ENUM_BITFIELD(rtx_code)) (CODE)) #define GET_MODE(RTX) ((enum machine_mode) (RTX)->mode) #define PUT_MODE(RTX,MODE) ((RTX)->mode = (ENUM_BITFIELD(machine_mode)) (MODE)) #define RTX_INTEGRATED_P(RTX) ((RTX)->integrated) #define RTX_UNCHANGING_P(RTX) ((RTX)->unchanging) #define RTX_FRAME_RELATED_P(RTX) ((RTX)->frame_related) struct rtvec_def { int num_elem; rtx elem[1]; }; #define NULL_RTVEC (rtvec) 0 #define GET_NUM_ELEM(RTVEC) ((RTVEC)->num_elem) #define PUT_NUM_ELEM(RTVEC,NUM) ((RTVEC)->num_elem = (NUM)) #define REG_P(X) (GET_CODE (X) == REG) #define LABEL_P(X) (GET_CODE (X) == CODE_LABEL) #define JUMP_P(X) (GET_CODE (X) == JUMP_INSN) #define NOTE_P(X) (GET_CODE (X) == NOTE) #define BARRIER_P(X) (GET_CODE (X) == BARRIER) #define JUMP_TABLE_DATA_P(INSN) (JUMP_P (INSN) && (GET_CODE (PATTERN (INSN)) == ADDR_VEC || GET_CODE (PATTERN (INSN)) == ADDR_DIFF_VEC)) #define CONSTANT_P(X) (GET_CODE (X) == LABEL_REF || GET_CODE (X) == SYMBOL_REF || GET_CODE (X) == CONST_INT || GET_CODE (X) == CONST_DOUBLE || GET_CODE (X) == CONST || GET_CODE (X) == HIGH || GET_CODE (X) == CONST_VECTOR || GET_CODE (X) == CONSTANT_P_RTX) # 332 "rtl.h" #define RTL_CHECK1(RTX,N,C1) ((RTX)->fld[N]) #define RTL_CHECK2(RTX,N,C1,C2) ((RTX)->fld[N]) #define RTL_CHECKC1(RTX,N,C) ((RTX)->fld[N]) #define RTL_CHECKC2(RTX,N,C1,C2) ((RTX)->fld[N]) #define RTVEC_ELT(RTVEC,I) ((RTVEC)->elem[I]) #define XWINT(RTX,N) (RTL_CHECK1 (RTX, N, 'w').rtwint) #define XINT(RTX,N) (RTL_CHECK2 (RTX, N, 'i', 'n').rtint) #define XSTR(RTX,N) (RTL_CHECK2 (RTX, N, 's', 'S').rtstr) #define XEXP(RTX,N) (RTL_CHECK2 (RTX, N, 'e', 'u').rtx) #define XVEC(RTX,N) (RTL_CHECK2 (RTX, N, 'E', 'V').rtvec) #define XMODE(RTX,N) (RTL_CHECK1 (RTX, N, 'M').rttype) #define XBITMAP(RTX,N) (RTL_CHECK1 (RTX, N, 'b').rtbit) #define XTREE(RTX,N) (RTL_CHECK1 (RTX, N, 't').rttree) #define XBBDEF(RTX,N) (RTL_CHECK1 (RTX, N, 'B').bb) #define XTMPL(RTX,N) (RTL_CHECK1 (RTX, N, 'T').rtstr) #define XVECEXP(RTX,N,M) RTVEC_ELT (XVEC (RTX, N), M) #define XVECLEN(RTX,N) GET_NUM_ELEM (XVEC (RTX, N)) #define X0WINT(RTX,N) (RTL_CHECK1 (RTX, N, '0').rtwint) #define X0INT(RTX,N) (RTL_CHECK1 (RTX, N, '0').rtint) #define X0UINT(RTX,N) (RTL_CHECK1 (RTX, N, '0').rtuint) #define X0STR(RTX,N) (RTL_CHECK1 (RTX, N, '0').rtstr) #define X0EXP(RTX,N) (RTL_CHECK1 (RTX, N, '0').rtx) #define X0VEC(RTX,N) (RTL_CHECK1 (RTX, N, '0').rtvec) #define X0MODE(RTX,N) (RTL_CHECK1 (RTX, N, '0').rttype) #define X0BITMAP(RTX,N) (RTL_CHECK1 (RTX, N, '0').rtbit) #define X0TREE(RTX,N) (RTL_CHECK1 (RTX, N, '0').rttree) #define X0BBDEF(RTX,N) (RTL_CHECK1 (RTX, N, '0').bb) #define X0ADVFLAGS(RTX,N) (RTL_CHECK1 (RTX, N, '0').rt_addr_diff_vec_flags) #define X0CSELIB(RTX,N) (RTL_CHECK1 (RTX, N, '0').rt_cselib) #define X0MEMATTR(RTX,N) (RTL_CHECK1 (RTX, N, '0').rtmem) #define XCWINT(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rtwint) #define XCINT(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rtint) #define XCUINT(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rtuint) #define XCSTR(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rtstr) #define XCEXP(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rtx) #define XCVEC(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rtvec) #define XCMODE(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rttype) #define XCBITMAP(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rtbit) #define XCTREE(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rttree) #define XCBBDEF(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).bb) #define XCADVFLAGS(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rt_addr_diff_vec_flags) #define XCCSELIB(RTX,N,C) (RTL_CHECKC1 (RTX, N, C).rt_cselib) #define XCVECEXP(RTX,N,M,C) RTVEC_ELT (XCVEC (RTX, N, C), M) #define XCVECLEN(RTX,N,C) GET_NUM_ELEM (XCVEC (RTX, N, C)) #define XC2EXP(RTX,N,C1,C2) (RTL_CHECKC2 (RTX, N, C1, C2).rtx) #define INSN_P(X) (GET_RTX_CLASS (GET_CODE(X)) == 'i') #define INSN_UID(INSN) XINT (INSN, 0) #define PREV_INSN(INSN) XEXP (INSN, 1) #define NEXT_INSN(INSN) XEXP (INSN, 2) #define PATTERN(INSN) XEXP (INSN, 3) #define INSN_CODE(INSN) XINT (INSN, 4) #define LOG_LINKS(INSN) XEXP(INSN, 5) #define INSN_DELETED_P(INSN) ((INSN)->volatil) #define CONST_OR_PURE_CALL_P(INSN) ((INSN)->unchanging) #define SIBLING_CALL_P(INSN) ((INSN)->jump) #define INSN_ANNULLED_BRANCH_P(INSN) ((INSN)->unchanging) #define INSN_DEAD_CODE_P(INSN) ((INSN)->in_struct) #define INSN_FROM_TARGET_P(INSN) ((INSN)->in_struct) #define ADDR_DIFF_VEC_FLAGS(RTX) X0ADVFLAGS(RTX, 4) #define CSELIB_VAL_PTR(RTX) X0CSELIB(RTX, 0) #define REG_NOTES(INSN) XEXP(INSN, 6) enum reg_note { REG_DEAD = 1, REG_INC, # 470 "rtl.h" REG_EQUIV, REG_EQUAL, REG_WAS_0, REG_RETVAL, REG_LIBCALL, REG_NONNEG, REG_NO_CONFLICT, REG_UNUSED, # 515 "rtl.h" REG_CC_SETTER, REG_CC_USER, REG_LABEL, REG_DEP_ANTI, REG_DEP_OUTPUT, REG_BR_PROB, REG_EXEC_COUNT, REG_NOALIAS, REG_SAVE_AREA, REG_BR_PRED, REG_FRAME_RELATED_EXPR, REG_EH_CONTEXT, REG_EH_REGION, REG_SAVE_NOTE, REG_MAYBE_DEAD, REG_NORETURN, REG_NON_LOCAL_GOTO, REG_SETJMP, REG_ALWAYS_RETURN, REG_VTABLE_REF }; #define REG_BR_PROB_BASE 10000 #define REG_NOTE_KIND(LINK) ((enum reg_note) GET_MODE (LINK)) #define PUT_REG_NOTE_KIND(LINK,KIND) PUT_MODE (LINK, (enum machine_mode) (KIND)) extern const char * const reg_note_name[]; #define GET_REG_NOTE_NAME(MODE) (reg_note_name[(int) (MODE)]) # 617 "rtl.h" #define CALL_INSN_FUNCTION_USAGE(INSN) XEXP(INSN, 7) #define CODE_LABEL_NUMBER(INSN) XINT (INSN, 5) #define LINE_NUMBER NOTE # 633 "rtl.h" #define NOTE_SOURCE_FILE(INSN) XCSTR (INSN, 3, NOTE) #define NOTE_BLOCK(INSN) XCTREE (INSN, 3, NOTE) #define NOTE_EH_HANDLER(INSN) XCINT (INSN, 3, NOTE) #define NOTE_RANGE_INFO(INSN) XCEXP (INSN, 3, NOTE) #define NOTE_LIVE_INFO(INSN) XCEXP (INSN, 3, NOTE) #define NOTE_BASIC_BLOCK(INSN) XCBBDEF (INSN, 3, NOTE) #define NOTE_EXPECTED_VALUE(INSN) XCEXP (INSN, 3, NOTE) #define NOTE_LINE_NUMBER(INSN) XCINT (INSN, 4, NOTE) #define NOTE_INSN_BASIC_BLOCK_P(INSN) (GET_CODE (INSN) == NOTE && NOTE_LINE_NUMBER (INSN) == NOTE_INSN_BASIC_BLOCK) # 663 "rtl.h" enum insn_note { NOTE_INSN_BIAS = -100, NOTE_INSN_DELETED, NOTE_INSN_BLOCK_BEG, NOTE_INSN_BLOCK_END, NOTE_INSN_LOOP_BEG, NOTE_INSN_LOOP_END, NOTE_INSN_LOOP_CONT, NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_END_TOP_COND, NOTE_INSN_FUNCTION_END, NOTE_INSN_PROLOGUE_END, NOTE_INSN_EPILOGUE_BEG, NOTE_INSN_DELETED_LABEL, NOTE_INSN_FUNCTION_BEG, NOTE_INSN_EH_REGION_BEG, NOTE_INSN_EH_REGION_END, NOTE_INSN_REPEATED_LINE_NUMBER, NOTE_INSN_RANGE_BEG, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE, NOTE_INSN_BASIC_BLOCK, NOTE_INSN_EXPECTED_VALUE, NOTE_INSN_MAX }; extern const char * const note_insn_name[NOTE_INSN_MAX - NOTE_INSN_BIAS]; #define GET_NOTE_INSN_NAME(NOTE_CODE) (note_insn_name[(NOTE_CODE) - (int) NOTE_INSN_BIAS]) #define LABEL_NAME(RTX) XCSTR (RTX, 6, CODE_LABEL) #define LABEL_NUSES(RTX) XCINT (RTX, 3, CODE_LABEL) #define LABEL_ALTERNATE_NAME(RTX) XCSTR (RTX, 7, CODE_LABEL) #define ADDRESSOF_REGNO(RTX) XCUINT (RTX, 1, ADDRESSOF) #define ADDRESSOF_DECL(RTX) XCTREE (RTX, 2, ADDRESSOF) #define JUMP_LABEL(INSN) XCEXP (INSN, 7, JUMP_INSN) #define LABEL_REFS(LABEL) XCEXP (LABEL, 4, CODE_LABEL) #define LABEL_NEXTREF(REF) XCEXP (REF, 1, LABEL_REF) #define CONTAINING_INSN(RTX) XCEXP (RTX, 2, LABEL_REF) #define REGNO(RTX) XCUINT (RTX, 0, REG) #define ORIGINAL_REGNO(RTX) X0UINT (RTX, 1) #define REG_FUNCTION_VALUE_P(RTX) ((RTX)->integrated) #define REG_USERVAR_P(RTX) ((RTX)->volatil) #define REG_POINTER(RTX) ((RTX)->frame_related) #define HARD_REGISTER_P(REG) (HARD_REGISTER_NUM_P (REGNO (REG))) #define HARD_REGISTER_NUM_P(REG_NO) ((REG_NO) < FIRST_PSEUDO_REGISTER) #define INTVAL(RTX) XCWINT(RTX, 0, CONST_INT) # 821 "rtl.h" #define CONST_DOUBLE_LOW(r) XCWINT (r, 1, CONST_DOUBLE) #define CONST_DOUBLE_HIGH(r) XCWINT (r, 2, CONST_DOUBLE) #define CONST_DOUBLE_CHAIN(r) XCEXP (r, 0, CONST_DOUBLE) #define CONST_VECTOR_ELT(RTX,N) XCVECEXP (RTX, 0, N, CONST_VECTOR) #define CONST_VECTOR_NUNITS(RTX) XCVECLEN (RTX, 0, CONST_VECTOR) #define SUBREG_REG(RTX) XCEXP (RTX, 0, SUBREG) #define SUBREG_BYTE(RTX) XCUINT (RTX, 1, SUBREG) extern unsigned int subreg_lsb (rtx); extern unsigned int subreg_regno_offset (unsigned int, enum machine_mode, unsigned int, enum machine_mode) ; extern unsigned int subreg_regno (rtx); # 855 "rtl.h" #define SUBREG_PROMOTED_VAR_P(RTX) ((RTX)->in_struct) #define SUBREG_PROMOTED_UNSIGNED_P(RTX) ((RTX)->unchanging) #define ASM_OPERANDS_TEMPLATE(RTX) XCSTR (RTX, 0, ASM_OPERANDS) #define ASM_OPERANDS_OUTPUT_CONSTRAINT(RTX) XCSTR (RTX, 1, ASM_OPERANDS) #define ASM_OPERANDS_OUTPUT_IDX(RTX) XCINT (RTX, 2, ASM_OPERANDS) #define ASM_OPERANDS_INPUT_VEC(RTX) XCVEC (RTX, 3, ASM_OPERANDS) #define ASM_OPERANDS_INPUT_CONSTRAINT_VEC(RTX) XCVEC (RTX, 4, ASM_OPERANDS) #define ASM_OPERANDS_INPUT(RTX,N) XCVECEXP (RTX, 3, N, ASM_OPERANDS) #define ASM_OPERANDS_INPUT_LENGTH(RTX) XCVECLEN (RTX, 3, ASM_OPERANDS) #define ASM_OPERANDS_INPUT_CONSTRAINT_EXP(RTX,N) XCVECEXP (RTX, 4, N, ASM_OPERANDS) #define ASM_OPERANDS_INPUT_CONSTRAINT(RTX,N) XSTR (XCVECEXP (RTX, 4, N, ASM_OPERANDS), 0) #define ASM_OPERANDS_INPUT_MODE(RTX,N) GET_MODE (XCVECEXP (RTX, 4, N, ASM_OPERANDS)) #define ASM_OPERANDS_SOURCE_FILE(RTX) XCSTR (RTX, 5, ASM_OPERANDS) #define ASM_OPERANDS_SOURCE_LINE(RTX) XCINT (RTX, 6, ASM_OPERANDS) #define MEM_KEEP_ALIAS_SET_P(RTX) ((RTX)->jump) #define MEM_VOLATILE_P(RTX) ((RTX)->volatil) #define MEM_IN_STRUCT_P(RTX) ((RTX)->in_struct) #define MEM_SCALAR_P(RTX) ((RTX)->frame_related) #define MEM_SET_IN_STRUCT_P(RTX,VAL) do { if (VAL) { MEM_IN_STRUCT_P (RTX) = 1; MEM_SCALAR_P (RTX) = 0; } else { MEM_IN_STRUCT_P (RTX) = 0; MEM_SCALAR_P (RTX) = 1; } } while (0) # 914 "rtl.h" #define MEM_ATTRS(RTX) X0MEMATTR (RTX, 1) # 925 "rtl.h" #define MEM_ALIAS_SET(RTX) (MEM_ATTRS (RTX) == 0 ? 0 : MEM_ATTRS (RTX)->alias) #define MEM_EXPR(RTX) (MEM_ATTRS (RTX) == 0 ? 0 : MEM_ATTRS (RTX)->expr) #define MEM_OFFSET(RTX) (MEM_ATTRS (RTX) == 0 ? 0 : MEM_ATTRS (RTX)->offset) #define MEM_SIZE(RTX) (MEM_ATTRS (RTX) != 0 ? MEM_ATTRS (RTX)->size : GET_MODE (RTX) != BLKmode ? GEN_INT (GET_MODE_SIZE (GET_MODE (RTX))) : 0) #define MEM_ALIGN(RTX) (MEM_ATTRS (RTX) != 0 ? MEM_ATTRS (RTX)->align : (STRICT_ALIGNMENT && GET_MODE (RTX) != BLKmode ? GET_MODE_ALIGNMENT (GET_MODE (RTX)) : BITS_PER_UNIT)) #define MEM_COPY_ATTRIBUTES(LHS,RHS) (MEM_VOLATILE_P (LHS) = MEM_VOLATILE_P (RHS), MEM_IN_STRUCT_P (LHS) = MEM_IN_STRUCT_P (RHS), MEM_SCALAR_P (LHS) = MEM_SCALAR_P (RHS), RTX_UNCHANGING_P (LHS) = RTX_UNCHANGING_P (RHS), MEM_KEEP_ALIAS_SET_P (LHS) = MEM_KEEP_ALIAS_SET_P (RHS), MEM_ATTRS (LHS) = MEM_ATTRS (RHS)) # 960 "rtl.h" #define LABEL_OUTSIDE_LOOP_P(RTX) ((RTX)->in_struct) #define LABEL_REF_NONLOCAL_P(RTX) ((RTX)->volatil) #define LABEL_PRESERVE_P(RTX) ((RTX)->in_struct) #define REG_LOOP_TEST_P(RTX) ((RTX)->in_struct) #define SCHED_GROUP_P(INSN) ((INSN)->in_struct) # 983 "rtl.h" #define LINK_COST_ZERO(X) ((X)->jump) #define LINK_COST_FREE(X) ((X)->call) #define SET_DEST(RTX) XC2EXP(RTX, 0, SET, CLOBBER) #define SET_SRC(RTX) XCEXP(RTX, 1, SET) #define SET_IS_RETURN_P(RTX) ((RTX)->jump) #define TRAP_CONDITION(RTX) XCEXP (RTX, 0, TRAP_IF) #define TRAP_CODE(RTX) XCEXP (RTX, 1, TRAP_IF) #define COND_EXEC_TEST(RTX) XCEXP (RTX, 0, COND_EXEC) #define COND_EXEC_CODE(RTX) XCEXP (RTX, 1, COND_EXEC) #define CONSTANT_POOL_ADDRESS_P(RTX) ((RTX)->unchanging) #define STRING_POOL_ADDRESS_P(RTX) ((RTX)->frame_related) #define SYMBOL_REF_FLAG(RTX) ((RTX)->volatil) #define SYMBOL_REF_USED(RTX) ((RTX)->used) #define SYMBOL_REF_WEAK(RTX) ((RTX)->integrated) # 1027 "rtl.h" #define FIND_REG_INC_NOTE(INSN,REG) 0 # 1039 "rtl.h" #define HAVE_PRE_INCREMENT 0 #define HAVE_PRE_DECREMENT 0 #define HAVE_POST_INCREMENT 0 #define HAVE_POST_DECREMENT 0 #define HAVE_POST_MODIFY_DISP 0 #define HAVE_POST_MODIFY_REG 0 #define HAVE_PRE_MODIFY_DISP 0 #define HAVE_PRE_MODIFY_REG 0 # 1076 "rtl.h" #define USE_LOAD_POST_INCREMENT(MODE) HAVE_POST_INCREMENT #define USE_LOAD_POST_DECREMENT(MODE) HAVE_POST_DECREMENT #define USE_LOAD_PRE_INCREMENT(MODE) HAVE_PRE_INCREMENT #define USE_LOAD_PRE_DECREMENT(MODE) HAVE_PRE_DECREMENT #define USE_STORE_POST_INCREMENT(MODE) HAVE_POST_INCREMENT #define USE_STORE_POST_DECREMENT(MODE) HAVE_POST_DECREMENT #define USE_STORE_PRE_INCREMENT(MODE) HAVE_PRE_INCREMENT #define USE_STORE_PRE_DECREMENT(MODE) HAVE_PRE_DECREMENT #define RANGE_INFO_NOTE_START(INSN) XCEXP (INSN, 0, RANGE_INFO) #define RANGE_INFO_NOTE_END(INSN) XCEXP (INSN, 1, RANGE_INFO) #define RANGE_INFO_REGS(INSN) XCVEC (INSN, 2, RANGE_INFO) #define RANGE_INFO_REGS_REG(INSN,N) XCVECEXP (INSN, 2, N, RANGE_INFO) #define RANGE_INFO_NUM_REGS(INSN) XCVECLEN (INSN, 2, RANGE_INFO) #define RANGE_INFO_NCALLS(INSN) XCINT (INSN, 3, RANGE_INFO) #define RANGE_INFO_NINSNS(INSN) XCINT (INSN, 4, RANGE_INFO) #define RANGE_INFO_UNIQUE(INSN) XCINT (INSN, 5, RANGE_INFO) #define RANGE_INFO_BB_START(INSN) XCINT (INSN, 6, RANGE_INFO) #define RANGE_INFO_BB_END(INSN) XCINT (INSN, 7, RANGE_INFO) #define RANGE_INFO_LOOP_DEPTH(INSN) XCINT (INSN, 8, RANGE_INFO) #define RANGE_INFO_LIVE_START(INSN) XCBITMAP (INSN, 9, RANGE_INFO) #define RANGE_INFO_LIVE_END(INSN) XCBITMAP (INSN, 10, RANGE_INFO) #define RANGE_INFO_MARKER_START(INSN) XCINT (INSN, 11, RANGE_INFO) #define RANGE_INFO_MARKER_END(INSN) XCINT (INSN, 12, RANGE_INFO) #define RANGE_REG_PSEUDO(INSN,N) XCINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 0, REG) #define RANGE_REG_COPY(INSN,N) XCINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 1, REG) #define RANGE_REG_REFS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 2) #define RANGE_REG_SETS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 3) #define RANGE_REG_DEATHS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 4) #define RANGE_REG_COPY_FLAGS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 5) #define RANGE_REG_LIVE_LENGTH(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 6) #define RANGE_REG_N_CALLS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 7) #define RANGE_REG_SYMBOL_NODE(INSN,N) XTREE (XCVECEXP (INSN, 2, N, RANGE_INFO), 8) #define RANGE_REG_BLOCK_NODE(INSN,N) XTREE (XCVECEXP (INSN, 2, N, RANGE_INFO), 9) #define RANGE_VAR_LIST(INSN) (XEXP (INSN, 0)) #define RANGE_VAR_BLOCK(INSN) (XTREE (INSN, 1)) #define RANGE_VAR_NUM(INSN) (XINT (INSN, 2)) #define RANGE_LIVE_BITMAP(INSN) (XBITMAP (INSN, 0)) #define RANGE_LIVE_ORIG_BLOCK(INSN) (XINT (INSN, 1)) #define PHI_NODE_P(X) ((X) && GET_CODE (X) == INSN && GET_CODE (PATTERN (X)) == SET && GET_CODE (SET_SRC (PATTERN (X))) == PHI) # 1211 "rtl.h" extern int rtx_equal_function_value_matters; extern int generating_concat_p; extern int ceil_log2 (unsigned long); #define plus_constant(X,C) plus_constant_wide ((X), (HOST_WIDE_INT) (C)) extern rtx expand_builtin_expect_jump (tree, rtx, rtx); extern void set_stack_check_libfunc (rtx); extern long trunc_int_for_mode (long, enum machine_mode) ; extern rtx plus_constant_wide (rtx, long); extern rtx plus_constant_for_output_wide (rtx, long); extern void optimize_save_area_alloca (rtx); extern rtx gen_rtx (enum rtx_code, enum machine_mode, ...) ; extern rtvec gen_rtvec (int, ...); extern rtx copy_insn_1 (rtx); extern rtx copy_insn (rtx); extern rtx gen_int_mode (long, enum machine_mode) ; extern rtx rtx_alloc (enum rtx_code); extern rtvec rtvec_alloc (int); extern rtx copy_rtx (rtx); extern rtx copy_rtx_if_shared (rtx); extern rtx copy_most_rtx (rtx, rtx); extern rtx shallow_copy_rtx (rtx); extern int rtx_equal_p (rtx, rtx); extern rtvec gen_rtvec_v (int, rtx *); extern rtx gen_reg_rtx (enum machine_mode); extern rtx gen_label_rtx (void); extern int subreg_hard_regno (rtx, int); extern rtx gen_lowpart_common (enum machine_mode, rtx); extern rtx gen_lowpart (enum machine_mode, rtx); extern rtx gen_lowpart_if_possible (enum machine_mode, rtx); extern rtx gen_highpart (enum machine_mode, rtx); extern rtx gen_highpart_mode (enum machine_mode, enum machine_mode, rtx) ; extern rtx gen_realpart (enum machine_mode, rtx); extern rtx gen_imagpart (enum machine_mode, rtx); extern rtx operand_subword (rtx, unsigned int, int, enum machine_mode) ; extern rtx constant_subword (rtx, int, enum machine_mode) ; extern rtx operand_subword_force (rtx, unsigned int, enum machine_mode) ; extern int subreg_lowpart_p (rtx); extern unsigned int subreg_lowpart_offset (enum machine_mode, enum machine_mode) ; extern unsigned int subreg_highpart_offset (enum machine_mode, enum machine_mode) ; extern rtx make_safe_from (rtx, rtx); extern rtx convert_memory_address (enum machine_mode, rtx); extern rtx get_insns (void); extern const char *get_insn_name (int); extern rtx get_last_insn (void); extern rtx get_last_insn_anywhere (void); extern void start_sequence (void); extern void push_to_sequence (rtx); extern void end_sequence (void); extern void push_to_full_sequence (rtx, rtx); extern void end_full_sequence (rtx*, rtx*); extern rtx gen_sequence (void); extern rtx immed_double_const (long, long, enum machine_mode); extern rtx mem_for_const_double (rtx); extern rtx force_const_mem (enum machine_mode, rtx); extern rtx get_pool_constant (rtx); extern rtx get_pool_constant_mark (rtx, _Bool *); extern enum machine_mode get_pool_mode (rtx); extern rtx get_pool_constant_for_function (struct function *, rtx); extern enum machine_mode get_pool_mode_for_function (struct function *, rtx); extern int get_pool_offset (rtx); extern rtx simplify_subtraction (rtx); extern rtx assign_stack_local (enum machine_mode, long, int) ; extern rtx assign_stack_temp (enum machine_mode, long, int) ; extern rtx assign_stack_temp_for_type (enum machine_mode, long, int, tree) ; extern rtx assign_temp (tree, int, int, int); extern rtx emit_insn_before (rtx, rtx); extern rtx emit_jump_insn_before (rtx, rtx); extern rtx emit_call_insn_before (rtx, rtx); extern rtx emit_barrier_before (rtx); extern rtx emit_label_before (rtx, rtx); extern rtx emit_note_before (int, rtx); extern rtx emit_insn_after (rtx, rtx); extern rtx emit_jump_insn_after (rtx, rtx); extern rtx emit_barrier_after (rtx); extern rtx emit_label_after (rtx, rtx); extern rtx emit_note_after (int, rtx); extern rtx emit_line_note_after (const char *, int, rtx); extern rtx emit_insn (rtx); extern rtx emit_insns (rtx); extern rtx emit_insns_before (rtx, rtx); extern rtx emit_insns_after (rtx, rtx); extern rtx emit_jump_insn (rtx); extern rtx emit_call_insn (rtx); extern rtx emit_label (rtx); extern rtx emit_barrier (void); extern rtx emit_line_note (const char *, int); extern rtx emit_note (const char *, int); extern rtx emit_line_note_force (const char *, int); extern rtx make_insn_raw (rtx); extern rtx previous_insn (rtx); extern rtx next_insn (rtx); extern rtx prev_nonnote_insn (rtx); extern rtx next_nonnote_insn (rtx); extern rtx prev_real_insn (rtx); extern rtx next_real_insn (rtx); extern rtx prev_active_insn (rtx); extern rtx next_active_insn (rtx); extern int active_insn_p (rtx); extern rtx prev_label (rtx); extern rtx next_label (rtx); extern rtx next_cc0_user (rtx); extern rtx prev_cc0_setter (rtx); extern rtx next_nondeleted_insn (rtx); extern enum rtx_code reverse_condition (enum rtx_code); extern enum rtx_code reverse_condition_maybe_unordered (enum rtx_code); extern enum rtx_code swap_condition (enum rtx_code); extern enum rtx_code unsigned_condition (enum rtx_code); extern enum rtx_code signed_condition (enum rtx_code); extern void mark_jump_label (rtx, rtx, int); extern void cleanup_barriers (void); extern _Bool squeeze_notes (rtx *, rtx *); extern rtx delete_related_insns (rtx); extern void delete_jump (rtx); extern void delete_barrier (rtx); extern rtx get_label_before (rtx); extern rtx get_label_after (rtx); extern rtx follow_jumps (rtx); extern rtx *find_constant_term_loc (rtx *); extern rtx try_split (rtx, rtx, int); extern int split_branch_probability; extern rtx split_insns (rtx, rtx); extern rtx simplify_unary_operation (enum rtx_code, enum machine_mode, rtx, enum machine_mode) ; extern rtx simplify_binary_operation (enum rtx_code, enum machine_mode, rtx, rtx) ; extern rtx simplify_ternary_operation (enum rtx_code, enum machine_mode, enum machine_mode, rtx, rtx, rtx) ; extern rtx simplify_relational_operation (enum rtx_code, enum machine_mode, rtx, rtx) ; extern rtx simplify_gen_binary (enum rtx_code, enum machine_mode, rtx, rtx) ; extern rtx simplify_gen_unary (enum rtx_code, enum machine_mode, rtx, enum machine_mode) ; extern rtx simplify_gen_ternary (enum rtx_code, enum machine_mode, enum machine_mode, rtx, rtx, rtx) ; extern rtx simplify_gen_relational (enum rtx_code, enum machine_mode, enum machine_mode, rtx, rtx) ; extern rtx simplify_subreg (enum machine_mode, rtx, enum machine_mode, unsigned int) ; extern rtx simplify_gen_subreg (enum machine_mode, rtx, enum machine_mode, unsigned int) ; extern rtx simplify_replace_rtx (rtx, rtx, rtx); extern rtx simplify_rtx (rtx); extern rtx avoid_constant_pool_reference (rtx); extern rtx gen_mem_addressof (rtx, tree); extern enum machine_mode choose_hard_reg_mode (unsigned int, unsigned int) ; extern rtx set_unique_reg_note (rtx, enum reg_note, rtx); #define single_set(I) (INSN_P (I) ? (GET_CODE (PATTERN (I)) == SET ? PATTERN (I) : single_set_1 (I)) : NULL_RTX) #define single_set_1(I) single_set_2 (I, PATTERN (I)) extern int rtx_addr_can_trap_p (rtx); extern int rtx_unstable_p (rtx); extern int rtx_varies_p (rtx, int); extern int rtx_addr_varies_p (rtx, int); extern long get_integer_term (rtx); extern rtx get_related_value (rtx); extern rtx get_jump_table_offset (rtx, rtx *); extern int reg_mentioned_p (rtx, rtx); extern int count_occurrences (rtx, rtx, int); extern int reg_referenced_p (rtx, rtx); extern int reg_used_between_p (rtx, rtx, rtx); extern int reg_referenced_between_p (rtx, rtx, rtx); extern int reg_set_between_p (rtx, rtx, rtx); extern int regs_set_between_p (rtx, rtx, rtx); extern int commutative_operand_precedence (rtx); extern int swap_commutative_operands_p (rtx, rtx); extern int modified_between_p (rtx, rtx, rtx); extern int no_labels_between_p (rtx, rtx); extern int no_jumps_between_p (rtx, rtx); extern int modified_in_p (rtx, rtx); extern int insn_dependent_p (rtx, rtx); extern int reg_set_p (rtx, rtx); extern rtx single_set_2 (rtx, rtx); extern int multiple_sets (rtx); extern int set_noop_p (rtx); extern int noop_move_p (rtx); extern rtx find_last_value (rtx, rtx *, rtx, int); extern int refers_to_regno_p (unsigned int, unsigned int, rtx, rtx *) ; extern int reg_overlap_mentioned_p (rtx, rtx); extern rtx set_of (rtx, rtx); extern void note_stores (rtx, void (*) (rtx, rtx, void *), void *) ; extern void note_uses (rtx *, void (*) (rtx *, void *), void *) ; extern rtx reg_set_last (rtx, rtx); extern int dead_or_set_p (rtx, rtx); extern int dead_or_set_regno_p (rtx, unsigned int); extern rtx find_reg_note (rtx, enum reg_note, rtx); extern rtx find_regno_note (rtx, enum reg_note, unsigned int) ; extern rtx find_reg_equal_equiv_note (rtx); extern int find_reg_fusage (rtx, enum rtx_code, rtx); extern int find_regno_fusage (rtx, enum rtx_code, unsigned int) ; extern int pure_call_p (rtx); extern void remove_note (rtx, rtx); extern int side_effects_p (rtx); extern int volatile_refs_p (rtx); extern int volatile_insn_p (rtx); extern int may_trap_p (rtx); extern int inequality_comparisons_p (rtx); extern rtx replace_rtx (rtx, rtx, rtx); extern rtx replace_regs (rtx, rtx *, unsigned int, int) ; extern int computed_jump_p (rtx); typedef int (*rtx_function) (rtx *, void *); extern int for_each_rtx (rtx *, rtx_function, void *); extern rtx regno_use_in (unsigned int, rtx); extern int auto_inc_p (rtx); extern int in_expr_list_p (rtx, rtx); extern void remove_node_from_expr_list (rtx, rtx *); extern int insns_safe_to_move_p (rtx, rtx, rtx *); extern int loc_mentioned_in_p (rtx *, rtx); extern rtx find_first_parameter_load (rtx, rtx); extern rtx find_use_as_address (rtx, rtx, long); void init_EXPR_INSN_LIST_cache (void); void free_EXPR_LIST_list (rtx *); void free_INSN_LIST_list (rtx *); void free_EXPR_LIST_node (rtx); void free_INSN_LIST_node (rtx); rtx alloc_INSN_LIST (rtx, rtx); rtx alloc_EXPR_LIST (int, rtx, rtx); extern int max_parallel; extern void free_reg_info (void); extern int asm_noperands (rtx); extern const char *decode_asm_operands (rtx, rtx *, rtx **, const char **, enum machine_mode *) ; extern enum reg_class reg_preferred_class (int); extern enum reg_class reg_alternate_class (int); extern rtx get_first_nonparm_insn (void); extern void split_all_insns (int); extern void split_all_insns_noflow (void); #define MAX_SAVED_CONST_INT 64 extern rtx const_int_rtx[64 * 2 + 1]; #define const0_rtx (const_int_rtx[MAX_SAVED_CONST_INT]) #define const1_rtx (const_int_rtx[MAX_SAVED_CONST_INT+1]) #define const2_rtx (const_int_rtx[MAX_SAVED_CONST_INT+2]) #define constm1_rtx (const_int_rtx[MAX_SAVED_CONST_INT-1]) extern rtx const_true_rtx; extern rtx const_tiny_rtx[3][(int) MAX_MACHINE_MODE]; #define CONST0_RTX(MODE) (const_tiny_rtx[0][(int) (MODE)]) #define CONST1_RTX(MODE) (const_tiny_rtx[1][(int) (MODE)]) #define CONST2_RTX(MODE) (const_tiny_rtx[2][(int) (MODE)]) # 1584 "rtl.h" enum global_rtl_index { GR_PC, GR_CC0, GR_STACK_POINTER, GR_FRAME_POINTER, # 1599 "rtl.h" GR_HARD_FRAME_POINTER, GR_ARG_POINTER, GR_VIRTUAL_INCOMING_ARGS, GR_VIRTUAL_STACK_ARGS, GR_VIRTUAL_STACK_DYNAMIC, GR_VIRTUAL_OUTGOING_ARGS, GR_VIRTUAL_CFA, GR_MAX }; extern rtx global_rtl[GR_MAX]; #define pc_rtx (global_rtl[GR_PC]) #define cc0_rtx (global_rtl[GR_CC0]) #define stack_pointer_rtx (global_rtl[GR_STACK_POINTER]) #define frame_pointer_rtx (global_rtl[GR_FRAME_POINTER]) #define hard_frame_pointer_rtx (global_rtl[GR_HARD_FRAME_POINTER]) #define arg_pointer_rtx (global_rtl[GR_ARG_POINTER]) extern rtx pic_offset_table_rtx; extern rtx struct_value_rtx; extern rtx struct_value_incoming_rtx; extern rtx static_chain_rtx; extern rtx static_chain_incoming_rtx; extern rtx return_address_pointer_rtx; # 1 "genrtl.h" 1 #define GCC_GENRTL_H extern rtx gen_rtx_fmt_s (enum rtx_code, enum machine_mode mode, const char *arg0) ; extern rtx gen_rtx_fmt_ee (enum rtx_code, enum machine_mode mode, rtx arg0, rtx arg1) ; extern rtx gen_rtx_fmt_ue (enum rtx_code, enum machine_mode mode, rtx arg0, rtx arg1) ; extern rtx gen_rtx_fmt_iss (enum rtx_code, enum machine_mode mode, int arg0, const char *arg1, const char *arg2) ; extern rtx gen_rtx_fmt_is (enum rtx_code, enum machine_mode mode, int arg0, const char *arg1) ; extern rtx gen_rtx_fmt_i (enum rtx_code, enum machine_mode mode, int arg0) ; extern rtx gen_rtx_fmt_isE (enum rtx_code, enum machine_mode mode, int arg0, const char *arg1, rtvec arg2) ; extern rtx gen_rtx_fmt_iE (enum rtx_code, enum machine_mode mode, int arg0, rtvec arg1) ; extern rtx gen_rtx_fmt_Ess (enum rtx_code, enum machine_mode mode, rtvec arg0, const char *arg1, const char *arg2) ; extern rtx gen_rtx_fmt_sEss (enum rtx_code, enum machine_mode mode, const char *arg0, rtvec arg1, const char *arg2, const char *arg3) ; extern rtx gen_rtx_fmt_eE (enum rtx_code, enum machine_mode mode, rtx arg0, rtvec arg1) ; extern rtx gen_rtx_fmt_E (enum rtx_code, enum machine_mode mode, rtvec arg0) ; extern rtx gen_rtx_fmt_e (enum rtx_code, enum machine_mode mode, rtx arg0) ; extern rtx gen_rtx_fmt_sse (enum rtx_code, enum machine_mode mode, const char *arg0, const char *arg1, rtx arg2) ; extern rtx gen_rtx_fmt_ss (enum rtx_code, enum machine_mode mode, const char *arg0, const char *arg1) ; extern rtx gen_rtx_fmt_sE (enum rtx_code, enum machine_mode mode, const char *arg0, rtvec arg1) ; extern rtx gen_rtx_fmt_iuueiee (enum rtx_code, enum machine_mode mode, int arg0, rtx arg1, rtx arg2, rtx arg3, int arg4, rtx arg5, rtx arg6) ; extern rtx gen_rtx_fmt_iuueiee0 (enum rtx_code, enum machine_mode mode, int arg0, rtx arg1, rtx arg2, rtx arg3, int arg4, rtx arg5, rtx arg6) ; extern rtx gen_rtx_fmt_iuueieee (enum rtx_code, enum machine_mode mode, int arg0, rtx arg1, rtx arg2, rtx arg3, int arg4, rtx arg5, rtx arg6, rtx arg7) ; extern rtx gen_rtx_fmt_iuu (enum rtx_code, enum machine_mode mode, int arg0, rtx arg1, rtx arg2) ; extern rtx gen_rtx_fmt_iuu00iss (enum rtx_code, enum machine_mode mode, int arg0, rtx arg1, rtx arg2, int arg3, const char *arg4, const char *arg5) ; extern rtx gen_rtx_fmt_ssiEEsi (enum rtx_code, enum machine_mode mode, const char *arg0, const char *arg1, int arg2, rtvec arg3, rtvec arg4, const char *arg5, int arg6) ; extern rtx gen_rtx_fmt_Ei (enum rtx_code, enum machine_mode mode, rtvec arg0, int arg1) ; extern rtx gen_rtx_fmt_eEee0 (enum rtx_code, enum machine_mode mode, rtx arg0, rtvec arg1, rtx arg2, rtx arg3) ; extern rtx gen_rtx_fmt_eee (enum rtx_code, enum machine_mode mode, rtx arg0, rtx arg1, rtx arg2) ; extern rtx gen_rtx_fmt_ (enum rtx_code, enum machine_mode mode); extern rtx gen_rtx_fmt_w (enum rtx_code, enum machine_mode mode, long arg0) ; extern rtx gen_rtx_fmt_0www (enum rtx_code, enum machine_mode mode, long arg0, long arg1, long arg2) ; extern rtx gen_rtx_fmt_0 (enum rtx_code, enum machine_mode mode); extern rtx gen_rtx_fmt_i0 (enum rtx_code, enum machine_mode mode, int arg0) ; extern rtx gen_rtx_fmt_ei (enum rtx_code, enum machine_mode mode, rtx arg0, int arg1) ; extern rtx gen_rtx_fmt_e0 (enum rtx_code, enum machine_mode mode, rtx arg0) ; extern rtx gen_rtx_fmt_u00 (enum rtx_code, enum machine_mode mode, rtx arg0) ; extern rtx gen_rtx_fmt_eit (enum rtx_code, enum machine_mode mode, rtx arg0, int arg1, union tree_node *arg2) ; extern rtx gen_rtx_fmt_eeeee (enum rtx_code, enum machine_mode mode, rtx arg0, rtx arg1, rtx arg2, rtx arg3, rtx arg4) ; extern rtx gen_rtx_fmt_Ee (enum rtx_code, enum machine_mode mode, rtvec arg0, rtx arg1) ; extern rtx gen_rtx_fmt_uuEiiiiiibbii (enum rtx_code, enum machine_mode mode, rtx arg0, rtx arg1, rtvec arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, struct bitmap_head_def *arg9, struct bitmap_head_def *arg10, int arg11, int arg12) ; extern rtx gen_rtx_fmt_iiiiiiiitt (enum rtx_code, enum machine_mode mode, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, union tree_node *arg8, union tree_node *arg9) ; extern rtx gen_rtx_fmt_eti (enum rtx_code, enum machine_mode mode, rtx arg0, union tree_node *arg1, int arg2) ; extern rtx gen_rtx_fmt_bi (enum rtx_code, enum machine_mode mode, struct bitmap_head_def *arg0, int arg1) ; extern rtx gen_rtx_fmt_uuuu (enum rtx_code, enum machine_mode mode, rtx arg0, rtx arg1, rtx arg2, rtx arg3) ; #define gen_rtx_INCLUDE(MODE,ARG0) gen_rtx_fmt_s (INCLUDE, (MODE), (ARG0)) #define gen_rtx_EXPR_LIST(MODE,ARG0,ARG1) gen_rtx_fmt_ee (EXPR_LIST, (MODE), (ARG0), (ARG1)) #define gen_rtx_INSN_LIST(MODE,ARG0,ARG1) gen_rtx_fmt_ue (INSN_LIST, (MODE), (ARG0), (ARG1)) #define gen_rtx_MATCH_OPERAND(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_iss (MATCH_OPERAND, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_MATCH_SCRATCH(MODE,ARG0,ARG1) gen_rtx_fmt_is (MATCH_SCRATCH, (MODE), (ARG0), (ARG1)) #define gen_rtx_MATCH_DUP(MODE,ARG0) gen_rtx_fmt_i (MATCH_DUP, (MODE), (ARG0)) #define gen_rtx_MATCH_OPERATOR(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_isE (MATCH_OPERATOR, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_MATCH_PARALLEL(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_isE (MATCH_PARALLEL, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_MATCH_OP_DUP(MODE,ARG0,ARG1) gen_rtx_fmt_iE (MATCH_OP_DUP, (MODE), (ARG0), (ARG1)) #define gen_rtx_MATCH_PAR_DUP(MODE,ARG0,ARG1) gen_rtx_fmt_iE (MATCH_PAR_DUP, (MODE), (ARG0), (ARG1)) #define gen_rtx_MATCH_INSN(MODE,ARG0,ARG1) gen_rtx_fmt_is (MATCH_INSN, (MODE), (ARG0), (ARG1)) #define gen_rtx_DEFINE_COMBINE(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_Ess (DEFINE_COMBINE, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_DEFINE_EXPAND(MODE,ARG0,ARG1,ARG2,ARG3) gen_rtx_fmt_sEss (DEFINE_EXPAND, (MODE), (ARG0), (ARG1), (ARG2), (ARG3)) #define gen_rtx_DEFINE_DELAY(MODE,ARG0,ARG1) gen_rtx_fmt_eE (DEFINE_DELAY, (MODE), (ARG0), (ARG1)) #define gen_rtx_DEFINE_COND_EXEC(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_Ess (DEFINE_COND_EXEC, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_SEQUENCE(MODE,ARG0) gen_rtx_fmt_E (SEQUENCE, (MODE), (ARG0)) #define gen_rtx_ADDRESS(MODE,ARG0) gen_rtx_fmt_e (ADDRESS, (MODE), (ARG0)) #define gen_rtx_DEFINE_ATTR(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_sse (DEFINE_ATTR, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_ATTR(MODE,ARG0) gen_rtx_fmt_s (ATTR, (MODE), (ARG0)) #define gen_rtx_SET_ATTR(MODE,ARG0,ARG1) gen_rtx_fmt_ss (SET_ATTR, (MODE), (ARG0), (ARG1)) #define gen_rtx_SET_ATTR_ALTERNATIVE(MODE,ARG0,ARG1) gen_rtx_fmt_sE (SET_ATTR_ALTERNATIVE, (MODE), (ARG0), (ARG1)) #define gen_rtx_EQ_ATTR(MODE,ARG0,ARG1) gen_rtx_fmt_ss (EQ_ATTR, (MODE), (ARG0), (ARG1)) #define gen_rtx_ATTR_FLAG(MODE,ARG0) gen_rtx_fmt_s (ATTR_FLAG, (MODE), (ARG0)) #define gen_rtx_INSN(MODE,ARG0,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) gen_rtx_fmt_iuueiee (INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) #define gen_rtx_JUMP_INSN(MODE,ARG0,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) gen_rtx_fmt_iuueiee0 (JUMP_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) #define gen_rtx_CALL_INSN(MODE,ARG0,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) gen_rtx_fmt_iuueieee (CALL_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7)) #define gen_rtx_BARRIER(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_iuu (BARRIER, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_CODE_LABEL(MODE,ARG0,ARG1,ARG2,ARG3,ARG4,ARG5) gen_rtx_fmt_iuu00iss (CODE_LABEL, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5)) #define gen_rtx_COND_EXEC(MODE,ARG0,ARG1) gen_rtx_fmt_ee (COND_EXEC, (MODE), (ARG0), (ARG1)) #define gen_rtx_PARALLEL(MODE,ARG0) gen_rtx_fmt_E (PARALLEL, (MODE), (ARG0)) #define gen_rtx_ASM_INPUT(MODE,ARG0) gen_rtx_fmt_s (ASM_INPUT, (MODE), (ARG0)) #define gen_rtx_ASM_OPERANDS(MODE,ARG0,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) gen_rtx_fmt_ssiEEsi (ASM_OPERANDS, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) #define gen_rtx_UNSPEC(MODE,ARG0,ARG1) gen_rtx_fmt_Ei (UNSPEC, (MODE), (ARG0), (ARG1)) #define gen_rtx_UNSPEC_VOLATILE(MODE,ARG0,ARG1) gen_rtx_fmt_Ei (UNSPEC_VOLATILE, (MODE), (ARG0), (ARG1)) #define gen_rtx_ADDR_VEC(MODE,ARG0) gen_rtx_fmt_E (ADDR_VEC, (MODE), (ARG0)) #define gen_rtx_ADDR_DIFF_VEC(MODE,ARG0,ARG1,ARG2,ARG3) gen_rtx_fmt_eEee0 (ADDR_DIFF_VEC, (MODE), (ARG0), (ARG1), (ARG2), (ARG3)) #define gen_rtx_PREFETCH(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_eee (PREFETCH, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_SET(MODE,ARG0,ARG1) gen_rtx_fmt_ee (SET, (MODE), (ARG0), (ARG1)) #define gen_rtx_USE(MODE,ARG0) gen_rtx_fmt_e (USE, (MODE), (ARG0)) #define gen_rtx_CLOBBER(MODE,ARG0) gen_rtx_fmt_e (CLOBBER, (MODE), (ARG0)) #define gen_rtx_CALL(MODE,ARG0,ARG1) gen_rtx_fmt_ee (CALL, (MODE), (ARG0), (ARG1)) #define gen_rtx_RETURN(MODE) gen_rtx_fmt_ (RETURN, (MODE)) #define gen_rtx_TRAP_IF(MODE,ARG0,ARG1) gen_rtx_fmt_ee (TRAP_IF, (MODE), (ARG0), (ARG1)) #define gen_rtx_RESX(MODE,ARG0) gen_rtx_fmt_i (RESX, (MODE), (ARG0)) #define gen_rtx_raw_CONST_INT(MODE,ARG0) gen_rtx_fmt_w (CONST_INT, (MODE), (ARG0)) #define gen_rtx_raw_CONST_DOUBLE(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_0www (CONST_DOUBLE, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_CONST_VECTOR(MODE,ARG0) gen_rtx_fmt_E (CONST_VECTOR, (MODE), (ARG0)) #define gen_rtx_CONST_STRING(MODE,ARG0) gen_rtx_fmt_s (CONST_STRING, (MODE), (ARG0)) #define gen_rtx_CONST(MODE,ARG0) gen_rtx_fmt_e (CONST, (MODE), (ARG0)) #define gen_rtx_PC(MODE) gen_rtx_fmt_ (PC, (MODE)) #define gen_rtx_VALUE(MODE) gen_rtx_fmt_0 (VALUE, (MODE)) #define gen_rtx_raw_REG(MODE,ARG0) gen_rtx_fmt_i0 (REG, (MODE), (ARG0)) #define gen_rtx_SCRATCH(MODE) gen_rtx_fmt_0 (SCRATCH, (MODE)) #define gen_rtx_raw_SUBREG(MODE,ARG0,ARG1) gen_rtx_fmt_ei (SUBREG, (MODE), (ARG0), (ARG1)) #define gen_rtx_STRICT_LOW_PART(MODE,ARG0) gen_rtx_fmt_e (STRICT_LOW_PART, (MODE), (ARG0)) #define gen_rtx_CONCAT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (CONCAT, (MODE), (ARG0), (ARG1)) #define gen_rtx_raw_MEM(MODE,ARG0) gen_rtx_fmt_e0 (MEM, (MODE), (ARG0)) #define gen_rtx_LABEL_REF(MODE,ARG0) gen_rtx_fmt_u00 (LABEL_REF, (MODE), (ARG0)) #define gen_rtx_SYMBOL_REF(MODE,ARG0) gen_rtx_fmt_s (SYMBOL_REF, (MODE), (ARG0)) #define gen_rtx_CC0(MODE) gen_rtx_fmt_ (CC0, (MODE)) #define gen_rtx_ADDRESSOF(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_eit (ADDRESSOF, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_QUEUED(MODE,ARG0,ARG1,ARG2,ARG3,ARG4) gen_rtx_fmt_eeeee (QUEUED, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4)) #define gen_rtx_IF_THEN_ELSE(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_eee (IF_THEN_ELSE, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_COND(MODE,ARG0,ARG1) gen_rtx_fmt_Ee (COND, (MODE), (ARG0), (ARG1)) #define gen_rtx_COMPARE(MODE,ARG0,ARG1) gen_rtx_fmt_ee (COMPARE, (MODE), (ARG0), (ARG1)) #define gen_rtx_PLUS(MODE,ARG0,ARG1) gen_rtx_fmt_ee (PLUS, (MODE), (ARG0), (ARG1)) #define gen_rtx_MINUS(MODE,ARG0,ARG1) gen_rtx_fmt_ee (MINUS, (MODE), (ARG0), (ARG1)) #define gen_rtx_NEG(MODE,ARG0) gen_rtx_fmt_e (NEG, (MODE), (ARG0)) #define gen_rtx_MULT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (MULT, (MODE), (ARG0), (ARG1)) #define gen_rtx_DIV(MODE,ARG0,ARG1) gen_rtx_fmt_ee (DIV, (MODE), (ARG0), (ARG1)) #define gen_rtx_MOD(MODE,ARG0,ARG1) gen_rtx_fmt_ee (MOD, (MODE), (ARG0), (ARG1)) #define gen_rtx_UDIV(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UDIV, (MODE), (ARG0), (ARG1)) #define gen_rtx_UMOD(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UMOD, (MODE), (ARG0), (ARG1)) #define gen_rtx_AND(MODE,ARG0,ARG1) gen_rtx_fmt_ee (AND, (MODE), (ARG0), (ARG1)) #define gen_rtx_IOR(MODE,ARG0,ARG1) gen_rtx_fmt_ee (IOR, (MODE), (ARG0), (ARG1)) #define gen_rtx_XOR(MODE,ARG0,ARG1) gen_rtx_fmt_ee (XOR, (MODE), (ARG0), (ARG1)) #define gen_rtx_NOT(MODE,ARG0) gen_rtx_fmt_e (NOT, (MODE), (ARG0)) #define gen_rtx_ASHIFT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (ASHIFT, (MODE), (ARG0), (ARG1)) #define gen_rtx_ROTATE(MODE,ARG0,ARG1) gen_rtx_fmt_ee (ROTATE, (MODE), (ARG0), (ARG1)) #define gen_rtx_ASHIFTRT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (ASHIFTRT, (MODE), (ARG0), (ARG1)) #define gen_rtx_LSHIFTRT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (LSHIFTRT, (MODE), (ARG0), (ARG1)) #define gen_rtx_ROTATERT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (ROTATERT, (MODE), (ARG0), (ARG1)) #define gen_rtx_SMIN(MODE,ARG0,ARG1) gen_rtx_fmt_ee (SMIN, (MODE), (ARG0), (ARG1)) #define gen_rtx_SMAX(MODE,ARG0,ARG1) gen_rtx_fmt_ee (SMAX, (MODE), (ARG0), (ARG1)) #define gen_rtx_UMIN(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UMIN, (MODE), (ARG0), (ARG1)) #define gen_rtx_UMAX(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UMAX, (MODE), (ARG0), (ARG1)) #define gen_rtx_PRE_DEC(MODE,ARG0) gen_rtx_fmt_e (PRE_DEC, (MODE), (ARG0)) #define gen_rtx_PRE_INC(MODE,ARG0) gen_rtx_fmt_e (PRE_INC, (MODE), (ARG0)) #define gen_rtx_POST_DEC(MODE,ARG0) gen_rtx_fmt_e (POST_DEC, (MODE), (ARG0)) #define gen_rtx_POST_INC(MODE,ARG0) gen_rtx_fmt_e (POST_INC, (MODE), (ARG0)) #define gen_rtx_PRE_MODIFY(MODE,ARG0,ARG1) gen_rtx_fmt_ee (PRE_MODIFY, (MODE), (ARG0), (ARG1)) #define gen_rtx_POST_MODIFY(MODE,ARG0,ARG1) gen_rtx_fmt_ee (POST_MODIFY, (MODE), (ARG0), (ARG1)) #define gen_rtx_NE(MODE,ARG0,ARG1) gen_rtx_fmt_ee (NE, (MODE), (ARG0), (ARG1)) #define gen_rtx_EQ(MODE,ARG0,ARG1) gen_rtx_fmt_ee (EQ, (MODE), (ARG0), (ARG1)) #define gen_rtx_GE(MODE,ARG0,ARG1) gen_rtx_fmt_ee (GE, (MODE), (ARG0), (ARG1)) #define gen_rtx_GT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (GT, (MODE), (ARG0), (ARG1)) #define gen_rtx_LE(MODE,ARG0,ARG1) gen_rtx_fmt_ee (LE, (MODE), (ARG0), (ARG1)) #define gen_rtx_LT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (LT, (MODE), (ARG0), (ARG1)) #define gen_rtx_GEU(MODE,ARG0,ARG1) gen_rtx_fmt_ee (GEU, (MODE), (ARG0), (ARG1)) #define gen_rtx_GTU(MODE,ARG0,ARG1) gen_rtx_fmt_ee (GTU, (MODE), (ARG0), (ARG1)) #define gen_rtx_LEU(MODE,ARG0,ARG1) gen_rtx_fmt_ee (LEU, (MODE), (ARG0), (ARG1)) #define gen_rtx_LTU(MODE,ARG0,ARG1) gen_rtx_fmt_ee (LTU, (MODE), (ARG0), (ARG1)) #define gen_rtx_UNORDERED(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UNORDERED, (MODE), (ARG0), (ARG1)) #define gen_rtx_ORDERED(MODE,ARG0,ARG1) gen_rtx_fmt_ee (ORDERED, (MODE), (ARG0), (ARG1)) #define gen_rtx_UNEQ(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UNEQ, (MODE), (ARG0), (ARG1)) #define gen_rtx_UNGE(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UNGE, (MODE), (ARG0), (ARG1)) #define gen_rtx_UNGT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UNGT, (MODE), (ARG0), (ARG1)) #define gen_rtx_UNLE(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UNLE, (MODE), (ARG0), (ARG1)) #define gen_rtx_UNLT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (UNLT, (MODE), (ARG0), (ARG1)) #define gen_rtx_LTGT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (LTGT, (MODE), (ARG0), (ARG1)) #define gen_rtx_SIGN_EXTEND(MODE,ARG0) gen_rtx_fmt_e (SIGN_EXTEND, (MODE), (ARG0)) #define gen_rtx_ZERO_EXTEND(MODE,ARG0) gen_rtx_fmt_e (ZERO_EXTEND, (MODE), (ARG0)) #define gen_rtx_TRUNCATE(MODE,ARG0) gen_rtx_fmt_e (TRUNCATE, (MODE), (ARG0)) #define gen_rtx_FLOAT_EXTEND(MODE,ARG0) gen_rtx_fmt_e (FLOAT_EXTEND, (MODE), (ARG0)) #define gen_rtx_FLOAT_TRUNCATE(MODE,ARG0) gen_rtx_fmt_e (FLOAT_TRUNCATE, (MODE), (ARG0)) #define gen_rtx_FLOAT(MODE,ARG0) gen_rtx_fmt_e (FLOAT, (MODE), (ARG0)) #define gen_rtx_FIX(MODE,ARG0) gen_rtx_fmt_e (FIX, (MODE), (ARG0)) #define gen_rtx_UNSIGNED_FLOAT(MODE,ARG0) gen_rtx_fmt_e (UNSIGNED_FLOAT, (MODE), (ARG0)) #define gen_rtx_UNSIGNED_FIX(MODE,ARG0) gen_rtx_fmt_e (UNSIGNED_FIX, (MODE), (ARG0)) #define gen_rtx_ABS(MODE,ARG0) gen_rtx_fmt_e (ABS, (MODE), (ARG0)) #define gen_rtx_SQRT(MODE,ARG0) gen_rtx_fmt_e (SQRT, (MODE), (ARG0)) #define gen_rtx_FFS(MODE,ARG0) gen_rtx_fmt_e (FFS, (MODE), (ARG0)) #define gen_rtx_SIGN_EXTRACT(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_eee (SIGN_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_ZERO_EXTRACT(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_eee (ZERO_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_HIGH(MODE,ARG0) gen_rtx_fmt_e (HIGH, (MODE), (ARG0)) #define gen_rtx_LO_SUM(MODE,ARG0,ARG1) gen_rtx_fmt_ee (LO_SUM, (MODE), (ARG0), (ARG1)) #define gen_rtx_RANGE_INFO(MODE,ARG0,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8,ARG9,ARG10,ARG11,ARG12) gen_rtx_fmt_uuEiiiiiibbii (RANGE_INFO, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7), (ARG8), (ARG9), (ARG10), (ARG11), (ARG12)) #define gen_rtx_RANGE_REG(MODE,ARG0,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8,ARG9) gen_rtx_fmt_iiiiiiiitt (RANGE_REG, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7), (ARG8), (ARG9)) #define gen_rtx_RANGE_VAR(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_eti (RANGE_VAR, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_RANGE_LIVE(MODE,ARG0,ARG1) gen_rtx_fmt_bi (RANGE_LIVE, (MODE), (ARG0), (ARG1)) #define gen_rtx_CONSTANT_P_RTX(MODE,ARG0) gen_rtx_fmt_e (CONSTANT_P_RTX, (MODE), (ARG0)) #define gen_rtx_CALL_PLACEHOLDER(MODE,ARG0,ARG1,ARG2,ARG3) gen_rtx_fmt_uuuu (CALL_PLACEHOLDER, (MODE), (ARG0), (ARG1), (ARG2), (ARG3)) #define gen_rtx_VEC_MERGE(MODE,ARG0,ARG1,ARG2) gen_rtx_fmt_eee (VEC_MERGE, (MODE), (ARG0), (ARG1), (ARG2)) #define gen_rtx_VEC_SELECT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (VEC_SELECT, (MODE), (ARG0), (ARG1)) #define gen_rtx_VEC_CONCAT(MODE,ARG0,ARG1) gen_rtx_fmt_ee (VEC_CONCAT, (MODE), (ARG0), (ARG1)) #define gen_rtx_VEC_DUPLICATE(MODE,ARG0) gen_rtx_fmt_e (VEC_DUPLICATE, (MODE), (ARG0)) #define gen_rtx_SS_PLUS(MODE,ARG0,ARG1) gen_rtx_fmt_ee (SS_PLUS, (MODE), (ARG0), (ARG1)) #define gen_rtx_US_PLUS(MODE,ARG0,ARG1) gen_rtx_fmt_ee (US_PLUS, (MODE), (ARG0), (ARG1)) #define gen_rtx_SS_MINUS(MODE,ARG0,ARG1) gen_rtx_fmt_ee (SS_MINUS, (MODE), (ARG0), (ARG1)) #define gen_rtx_US_MINUS(MODE,ARG0,ARG1) gen_rtx_fmt_ee (US_MINUS, (MODE), (ARG0), (ARG1)) #define gen_rtx_SS_TRUNCATE(MODE,ARG0) gen_rtx_fmt_e (SS_TRUNCATE, (MODE), (ARG0)) #define gen_rtx_US_TRUNCATE(MODE,ARG0) gen_rtx_fmt_e (US_TRUNCATE, (MODE), (ARG0)) #define gen_rtx_PHI(MODE,ARG0) gen_rtx_fmt_E (PHI, (MODE), (ARG0)) # 1643 "rtl.h" 2 extern rtx gen_rtx_CONST_DOUBLE (enum machine_mode, long, long) ; extern rtx gen_rtx_CONST_INT (enum machine_mode, long); extern rtx gen_raw_REG (enum machine_mode, int); extern rtx gen_rtx_REG (enum machine_mode, int); extern rtx gen_rtx_SUBREG (enum machine_mode, rtx, int); extern rtx gen_rtx_MEM (enum machine_mode, rtx); extern rtx gen_lowpart_SUBREG (enum machine_mode, rtx); #define GEN_INT(N) gen_rtx_CONST_INT (VOIDmode, (HOST_WIDE_INT) (N)) #define FIRST_VIRTUAL_REGISTER (FIRST_PSEUDO_REGISTER) #define virtual_incoming_args_rtx (global_rtl[GR_VIRTUAL_INCOMING_ARGS]) #define VIRTUAL_INCOMING_ARGS_REGNUM (FIRST_VIRTUAL_REGISTER) #define virtual_stack_vars_rtx (global_rtl[GR_VIRTUAL_STACK_ARGS]) #define VIRTUAL_STACK_VARS_REGNUM ((FIRST_VIRTUAL_REGISTER) + 1) #define virtual_stack_dynamic_rtx (global_rtl[GR_VIRTUAL_STACK_DYNAMIC]) #define VIRTUAL_STACK_DYNAMIC_REGNUM ((FIRST_VIRTUAL_REGISTER) + 2) #define virtual_outgoing_args_rtx (global_rtl[GR_VIRTUAL_OUTGOING_ARGS]) #define VIRTUAL_OUTGOING_ARGS_REGNUM ((FIRST_VIRTUAL_REGISTER) + 3) #define virtual_cfa_rtx (global_rtl[GR_VIRTUAL_CFA]) #define VIRTUAL_CFA_REGNUM ((FIRST_VIRTUAL_REGISTER) + 4) #define LAST_VIRTUAL_REGISTER ((FIRST_VIRTUAL_REGISTER) + 4) #define REGNO_PTR_FRAME_P(REGNUM) ((REGNUM) == STACK_POINTER_REGNUM || (REGNUM) == FRAME_POINTER_REGNUM || (REGNUM) == HARD_FRAME_POINTER_REGNUM || (REGNUM) == ARG_POINTER_REGNUM || ((REGNUM) >= FIRST_VIRTUAL_REGISTER && (REGNUM) <= LAST_VIRTUAL_REGISTER)) # 1726 "rtl.h" #define INVALID_REGNUM (~(unsigned int) 0) extern rtx find_next_ref (rtx, rtx); extern rtx output_constant_def (tree, int); extern rtx immed_real_const (tree); # 1741 "rtl.h" extern int flow2_completed; extern int reload_completed; extern int reload_in_progress; extern int cse_not_expected; extern int no_new_pseudos; extern int rtx_to_tree_code (enum rtx_code); struct obstack; extern void gcc_obstack_init (struct obstack *); struct cse_basic_block_data; #define COSTS_N_INSNS(N) ((N) * 4) #define MAX_COST INT_MAX extern int rtx_cost (rtx, enum rtx_code); extern int address_cost (rtx, enum machine_mode); extern void delete_trivially_dead_insns (rtx, int, int); extern int cse_main (rtx, int, int, FILE *); extern void cse_end_of_basic_block (rtx, struct cse_basic_block_data *, int, int, int) ; extern int comparison_dominates_p (enum rtx_code, enum rtx_code); extern int condjump_p (rtx); extern int any_condjump_p (rtx); extern int any_uncondjump_p (rtx); extern int safe_to_remove_jump_p (rtx); extern rtx pc_set (rtx); extern rtx condjump_label (rtx); extern int simplejump_p (rtx); extern int returnjump_p (rtx); extern int onlyjump_p (rtx); extern int only_sets_cc0_p (rtx); extern int sets_cc0_p (rtx); extern int invert_jump_1 (rtx, rtx); extern int invert_jump (rtx, rtx, int); extern int rtx_renumbered_equal_p (rtx, rtx); extern int true_regnum (rtx); extern int redirect_jump_1 (rtx, rtx); extern int redirect_jump (rtx, rtx, int); extern void rebuild_jump_labels (rtx); extern enum rtx_code reversed_comparison_code (rtx, rtx); extern enum rtx_code reversed_comparison_code_parts (enum rtx_code, rtx, rtx, rtx) ; extern void delete_for_peephole (rtx, rtx); extern int condjump_in_parallel_p (rtx); extern void never_reached_warning (rtx, rtx); extern void purge_line_number_notes (rtx); extern void copy_loop_headers (rtx); extern int max_reg_num (void); extern int max_label_num (void); extern int get_first_label_num (void); extern void delete_insns_since (rtx); extern void mark_reg_pointer (rtx, int); extern void mark_user_reg (rtx); extern void reset_used_flags (rtx); extern void reorder_insns (rtx, rtx, rtx); extern void reorder_insns_nobb (rtx, rtx, rtx); extern int get_max_uid (void); extern int in_sequence_p (void); extern void force_next_line_note (void); extern void clear_emit_caches (void); extern void init_emit (void); extern void init_emit_once (int); extern void push_topmost_sequence (void); extern void pop_topmost_sequence (void); extern int subreg_realpart_p (rtx); extern void reverse_comparison (rtx); extern void set_new_first_and_last_insn (rtx, rtx); extern void set_new_first_and_last_label_num (int, int); extern void set_new_last_label_num (int); extern void unshare_all_rtl_again (rtx); extern void set_last_insn (rtx); extern void link_cc0_insns (rtx); extern void add_insn (rtx); extern void add_insn_before (rtx, rtx); extern void add_insn_after (rtx, rtx); extern void remove_insn (rtx); extern void reorder_insns_with_line_notes (rtx, rtx, rtx); extern void emit_insn_after_with_line_notes (rtx, rtx, rtx); extern enum rtx_code classify_insn (rtx); extern rtx emit (rtx); int force_line_numbers (void); void restore_line_number_status (int old_value); extern void renumber_insns (FILE *); extern void remove_unnecessary_notes (void); extern rtx delete_insn (rtx); extern void delete_insn_chain (rtx, rtx); extern int combine_instructions (rtx, unsigned int); extern unsigned int extended_count (rtx, enum machine_mode, int); extern rtx remove_death (unsigned int, rtx); extern void dump_combine_stats (FILE *); extern void dump_combine_total_stats (FILE *); extern void schedule_insns (FILE *); extern void schedule_ebbs (FILE *); extern void fix_sched_param (const char *, const char *); extern const char *print_rtx_head; extern void debug_rtx (rtx); extern void debug_rtx_list (rtx, int); extern void debug_rtx_range (rtx, rtx); extern rtx debug_rtx_find (rtx, int); extern void print_mem_expr (FILE *, tree); extern void print_rtl (FILE *, rtx); extern void print_simple_rtl (FILE *, rtx); extern int print_rtl_single (FILE *, rtx); extern void print_inline_rtx (FILE *, rtx, int); extern void init_loop (void); extern rtx libcall_other_reg (rtx, rtx); extern void loop_optimize (rtx, FILE *, int); extern void record_excess_regs (rtx, rtx, rtx *); extern void reposition_prologue_and_epilogue_notes (rtx); extern void thread_prologue_and_epilogue_insns (rtx); extern int prologue_epilogue_contains (rtx); extern int sibcall_epilogue_contains (rtx); extern void preserve_rtl_expr_result (rtx); extern void mark_temp_addr_taken (rtx); extern void update_temp_slot_address (rtx, rtx); extern void purge_addressof (rtx); extern void purge_hard_subreg_sets (rtx); extern void set_file_and_line_for_stmt (const char *, int); extern void expand_null_return (void); extern void emit_jump (rtx); extern int preserve_subexpressions_p (void); extern void move_by_pieces (rtx, rtx, unsigned long, unsigned int) ; extern void recompute_reg_usage (rtx, int); extern int initialize_uninitialized_subregs (void); extern void print_rtl_with_bb (FILE *, rtx); extern void dump_flow_info (FILE *); extern void init_expmed (void); extern void expand_inc (rtx, rtx); extern void expand_dec (rtx, rtx); extern rtx expand_mult_highpart (enum machine_mode, rtx, unsigned long, rtx, int, int) ; extern int gcse_main (rtx, FILE *); extern void mark_elimination (int, int); extern int global_alloc (FILE *); extern void dump_global_regs (FILE *); extern void build_insn_chain (rtx); extern int reg_classes_intersect_p (enum reg_class, enum reg_class); extern int reg_class_subset_p (enum reg_class, enum reg_class); extern void globalize_reg (int); extern void init_regs (void); extern void init_reg_sets (void); extern void regset_release_memory (void); extern void regclass_init (void); extern void regclass (rtx, int, FILE *); extern void reg_scan (rtx, unsigned int, int); extern void reg_scan_update (rtx, rtx, unsigned int); extern void fix_register (const char *, int, int); extern void delete_null_pointer_checks (rtx); extern void regmove_optimize (rtx, int, FILE *); extern void combine_stack_adjustments (void); extern void dbr_schedule (rtx, FILE *); extern void dump_local_alloc (FILE *); extern int local_alloc (void); extern int function_invariant_p (rtx); extern void init_branch_prob (const char *); extern void branch_prob (void); extern void end_branch_prob (void); extern void output_func_start_profiler (void); extern void reg_to_stack (rtx, FILE *); extern int add_double (unsigned long, long, unsigned long, long, unsigned long *, long *) ; extern int neg_double (unsigned long, long, unsigned long *, long *) ; extern int mul_double (unsigned long, long, unsigned long, long, unsigned long *, long *) ; extern void lshift_double (unsigned long, long, long, unsigned int, unsigned long *, long *, int) ; extern void rshift_double (unsigned long, long, long, unsigned int, unsigned long *, long *, int) ; extern void lrotate_double (unsigned long, long, long, unsigned int, unsigned long *, long *) ; extern void rrotate_double (unsigned long, long, long, unsigned int, unsigned long *, long *) ; enum libcall_type { LCT_NORMAL = 0, LCT_CONST = 1, LCT_PURE = 2, LCT_CONST_MAKE_BLOCK = 3, LCT_PURE_MAKE_BLOCK = 4, LCT_NORETURN = 5, LCT_THROW = 6, LCT_ALWAYS_RETURN = 7, LCT_RETURNS_TWICE = 8 }; extern void emit_library_call (rtx, enum libcall_type, enum machine_mode, int, ...) ; extern rtx emit_library_call_value (rtx, rtx, enum libcall_type, enum machine_mode, int, ...) ; extern int set_dominates_use (int, int, int, rtx, rtx); extern int in_data_section (void); extern void init_varasm_once (void); extern void init_rtl (void); extern void traverse_md_constants (int (*) (void **, void *), void *) ; struct md_constant { char *name, *value; }; extern int read_skip_spaces (FILE *); extern rtx read_rtx (FILE *); extern const char *read_rtx_filename; extern int read_rtx_lineno; extern void fancy_abort (const char *, int, const char *) __attribute__ ((__noreturn__)); #define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__) extern void clear_reg_alias_info (rtx); extern rtx canon_rtx (rtx); extern int true_dependence (rtx, enum machine_mode, rtx, int (*)(rtx, int)) ; extern rtx get_addr (rtx); extern int canon_true_dependence (rtx, enum machine_mode, rtx, rtx, int (*)(rtx, int)) ; extern int read_dependence (rtx, rtx); extern int anti_dependence (rtx, rtx); extern int output_dependence (rtx, rtx); extern void mark_constant_function (void); extern void init_alias_once (void); extern void init_alias_analysis (void); extern void end_alias_analysis (void); extern rtx addr_side_effect_eval (rtx, int, int); typedef enum { sibcall_use_normal = 1, sibcall_use_tail_recursion, sibcall_use_sibcall } sibcall_use_t; extern void optimize_sibling_and_tail_recursive_calls (void); extern void replace_call_placeholder (rtx, sibcall_use_t); extern int stack_regs_mentioned (rtx insn); extern rtx stack_limit_rtx; extern void regrename_optimize (void); extern void copyprop_hardreg_forward (void); extern void if_convert (int); extern void invert_br_probabilities (rtx); extern _Bool expensive_function_p (int); # 26 "regrename.c" 2 # 1 "tm_p.h" 1 # 1 "i386-protos.h" 1 # 23 "i386-protos.h" extern void override_options (void); extern void optimization_options (int, int); extern int ix86_can_use_return_insn_p (void); extern int ix86_frame_pointer_required (void); extern void ix86_setup_frame_addresses (void); extern void ix86_asm_file_end (FILE *); extern void load_pic_register (void); extern long ix86_initial_elimination_offset (int, int); extern void ix86_expand_prologue (void); extern void ix86_expand_epilogue (int); extern void ix86_output_addr_vec_elt (FILE *, int); extern void ix86_output_addr_diff_elt (FILE *, int, int); extern int ix86_aligned_p (rtx); extern int standard_80387_constant_p (rtx); extern int standard_sse_constant_p (rtx); extern int symbolic_reference_mentioned_p (rtx); extern int x86_64_general_operand (rtx, enum machine_mode); extern int x86_64_szext_general_operand (rtx, enum machine_mode); extern int x86_64_nonmemory_operand (rtx, enum machine_mode); extern int x86_64_szext_nonmemory_operand (rtx, enum machine_mode); extern int x86_64_immediate_operand (rtx, enum machine_mode); extern int x86_64_zext_immediate_operand (rtx, enum machine_mode); extern int const_int_1_operand (rtx, enum machine_mode); extern int symbolic_operand (rtx, enum machine_mode); extern int pic_symbolic_operand (rtx, enum machine_mode); extern int call_insn_operand (rtx, enum machine_mode); extern int constant_call_address_operand (rtx, enum machine_mode); extern int const0_operand (rtx, enum machine_mode); extern int const1_operand (rtx, enum machine_mode); extern int const248_operand (rtx, enum machine_mode); extern int incdec_operand (rtx, enum machine_mode); extern int reg_no_sp_operand (rtx, enum machine_mode); extern int mmx_reg_operand (rtx, enum machine_mode); extern int general_no_elim_operand (rtx, enum machine_mode); extern int nonmemory_no_elim_operand (rtx, enum machine_mode); extern int q_regs_operand (rtx, enum machine_mode); extern int non_q_regs_operand (rtx, enum machine_mode); extern int sse_comparison_operator (rtx, enum machine_mode); extern int fcmov_comparison_operator (rtx, enum machine_mode); extern int cmp_fp_expander_operand (rtx, enum machine_mode); extern int ix86_comparison_operator (rtx, enum machine_mode); extern int ext_register_operand (rtx, enum machine_mode); extern int binary_fp_operator (rtx, enum machine_mode); extern int mult_operator (rtx, enum machine_mode); extern int div_operator (rtx, enum machine_mode); extern int arith_or_logical_operator (rtx, enum machine_mode); extern int promotable_binary_operator (rtx, enum machine_mode); extern int memory_displacement_operand (rtx, enum machine_mode); extern int cmpsi_operand (rtx, enum machine_mode); extern int long_memory_operand (rtx, enum machine_mode); extern int aligned_operand (rtx, enum machine_mode); extern enum machine_mode ix86_cc_mode (enum rtx_code, rtx, rtx); extern int ix86_expand_movstr (rtx, rtx, rtx, rtx); extern int ix86_expand_clrstr (rtx, rtx, rtx); extern int ix86_expand_strlen (rtx, rtx, rtx, rtx); extern int legitimate_pic_address_disp_p (rtx); extern int legitimate_address_p (enum machine_mode, rtx, int); extern rtx legitimize_pic_address (rtx, rtx); extern rtx legitimize_address (rtx, rtx, enum machine_mode); extern void print_reg (rtx, int, FILE*); extern void print_operand (FILE*, rtx, int); extern void print_operand_address (FILE*, rtx); extern void split_di (rtx[], int, rtx[], rtx[]); extern void split_ti (rtx[], int, rtx[], rtx[]); extern const char *output_387_binary_op (rtx, rtx*); extern const char *output_fix_trunc (rtx, rtx*); extern const char *output_fp_compare (rtx, rtx*, int, int); extern void i386_dwarf_output_addr_const (FILE*, rtx); extern rtx i386_simplify_dwarf_addr (rtx); extern void ix86_expand_clear (rtx); extern void ix86_expand_move (enum machine_mode, rtx[]); extern void ix86_expand_vector_move (enum machine_mode, rtx[]); extern void ix86_expand_binary_operator (enum rtx_code, enum machine_mode, rtx[]) ; extern int ix86_binary_operator_ok (enum rtx_code, enum machine_mode, rtx[]) ; extern void ix86_expand_unary_operator (enum rtx_code, enum machine_mode, rtx[]) ; extern int ix86_unary_operator_ok (enum rtx_code, enum machine_mode, rtx[]) ; extern int ix86_match_ccmode (rtx, enum machine_mode); extern rtx ix86_expand_compare (enum rtx_code, rtx *, rtx *); extern int ix86_use_fcomi_compare (enum rtx_code); extern void ix86_expand_branch (enum rtx_code, rtx); extern int ix86_expand_setcc (enum rtx_code, rtx); extern int ix86_expand_int_movcc (rtx[]); extern int ix86_expand_fp_movcc (rtx[]); extern void x86_initialize_trampoline (rtx, rtx, rtx); extern rtx ix86_zero_extend_to_Pmode (rtx); extern void ix86_split_long_move (rtx[]); extern void ix86_split_ashldi (rtx *, rtx); extern void ix86_split_ashrdi (rtx *, rtx); extern void ix86_split_lshrdi (rtx *, rtx); extern int ix86_address_cost (rtx); extern rtx ix86_find_base_term (rtx); extern rtx assign_386_stack_local (enum machine_mode, int); extern int ix86_attr_length_immediate_default (rtx, int); extern int ix86_attr_length_address_default (rtx); extern enum machine_mode ix86_fp_compare_mode (enum rtx_code); extern int x86_64_sign_extended_value (rtx); extern int x86_64_zero_extended_value (rtx); extern rtx ix86_libcall_value (enum machine_mode); extern _Bool ix86_function_value_regno_p (int); extern _Bool ix86_function_arg_regno_p (int); extern int ix86_function_arg_boundary (enum machine_mode, tree); extern int ix86_return_in_memory (tree); extern void ix86_va_start (int, tree, rtx); extern rtx ix86_va_arg (tree, tree); extern void ix86_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode, tree, int *, int) ; extern rtx ix86_force_to_memory (enum machine_mode, rtx); extern void ix86_free_from_memory (enum machine_mode); extern void ix86_split_fp_branch (enum rtx_code code, rtx, rtx, rtx, rtx, rtx) ; extern int ix86_hard_regno_mode_ok (int, enum machine_mode); extern int ix86_register_move_cost (enum machine_mode, enum reg_class, enum reg_class) ; extern int ix86_secondary_memory_needed (enum reg_class, enum reg_class, enum machine_mode, int) ; extern enum reg_class ix86_preferred_reload_class (rtx, enum reg_class) ; extern int ix86_memory_move_cost (enum machine_mode, enum reg_class, int) ; extern void ix86_set_move_mem_attrs (rtx, rtx, rtx, rtx, rtx); extern void emit_i387_cw_initialization (rtx, rtx); extern _Bool ix86_fp_jump_nontrivial_p (enum rtx_code); extern void x86_order_regs_for_local_alloc (void); # 2 "tm_p.h" 2 # 1 "tm-preds.h" 1 #define GCC_TM_PREDS_H extern int x86_64_immediate_operand (rtx, enum machine_mode); extern int x86_64_nonmemory_operand (rtx, enum machine_mode); extern int x86_64_movabs_operand (rtx, enum machine_mode); extern int x86_64_szext_nonmemory_operand (rtx, enum machine_mode); extern int x86_64_general_operand (rtx, enum machine_mode); extern int x86_64_szext_general_operand (rtx, enum machine_mode); extern int x86_64_zext_immediate_operand (rtx, enum machine_mode); extern int shiftdi_operand (rtx, enum machine_mode); extern int const_int_1_operand (rtx, enum machine_mode); extern int const_int_1_31_operand (rtx, enum machine_mode); extern int symbolic_operand (rtx, enum machine_mode); extern int aligned_operand (rtx, enum machine_mode); extern int pic_symbolic_operand (rtx, enum machine_mode); extern int call_insn_operand (rtx, enum machine_mode); extern int constant_call_address_operand (rtx, enum machine_mode); extern int const0_operand (rtx, enum machine_mode); extern int const1_operand (rtx, enum machine_mode); extern int const248_operand (rtx, enum machine_mode); extern int incdec_operand (rtx, enum machine_mode); extern int mmx_reg_operand (rtx, enum machine_mode); extern int reg_no_sp_operand (rtx, enum machine_mode); extern int general_no_elim_operand (rtx, enum machine_mode); extern int nonmemory_no_elim_operand (rtx, enum machine_mode); extern int q_regs_operand (rtx, enum machine_mode); extern int non_q_regs_operand (rtx, enum machine_mode); extern int fcmov_comparison_operator (rtx, enum machine_mode); extern int sse_comparison_operator (rtx, enum machine_mode); extern int ix86_comparison_operator (rtx, enum machine_mode); extern int cmp_fp_expander_operand (rtx, enum machine_mode); extern int ext_register_operand (rtx, enum machine_mode); extern int binary_fp_operator (rtx, enum machine_mode); extern int mult_operator (rtx, enum machine_mode); extern int div_operator (rtx, enum machine_mode); extern int arith_or_logical_operator (rtx, enum machine_mode); extern int promotable_binary_operator (rtx, enum machine_mode); extern int memory_displacement_operand (rtx, enum machine_mode); extern int cmpsi_operand (rtx, enum machine_mode); extern int long_memory_operand (rtx, enum machine_mode); # 3 "tm_p.h" 2 # 27 "regrename.c" 2 # 1 "insn-config.h" 1 #define GCC_INSN_CONFIG_H #define MAX_RECOG_OPERANDS 30 #define MAX_DUP_OPERANDS 4 #define MAX_INSNS_PER_SPLIT 4 #define HAVE_conditional_move 1 #define HAVE_peephole2 1 #define MAX_INSNS_PER_PEEP2 4 # 28 "regrename.c" 2 # 1 "regs.h" 1 # 23 "regs.h" # 1 "varray.h" 1 # 23 "varray.h" #define GCC_VARRAY_H # 36 "varray.h" struct const_equiv_data { # 50 "varray.h" struct rtx_def *rtx; unsigned age; }; typedef union varray_data_tag { char c[1]; unsigned char uc[1]; short s[1]; unsigned short us[1]; int i[1]; unsigned int u[1]; long l[1]; unsigned long ul[1]; long hint[1]; unsigned long uhint[1]; void * generic[1]; char *cptr[1]; struct rtx_def *rtx[1]; struct rtvec_def *rtvec[1]; union tree_node *tree[1]; struct bitmap_head_def *bitmap[1]; struct sched_info_tag *sched[1]; struct reg_info_def *reg[1]; struct const_equiv_data const_equiv[1]; struct basic_block_def *bb[1]; struct elt_list *te[1]; } varray_data; typedef struct varray_head_tag { size_t num_elements; size_t elements_used; size_t element_size; const char *name; varray_data data; } *varray_type; extern varray_type varray_init (size_t, size_t, const char *); #define VARRAY_CHAR_INIT(va,num,name) va = varray_init (num, sizeof (char), name) #define VARRAY_UCHAR_INIT(va,num,name) va = varray_init (num, sizeof (unsigned char), name) #define VARRAY_SHORT_INIT(va,num,name) va = varray_init (num, sizeof (short), name) #define VARRAY_USHORT_INIT(va,num,name) va = varray_init (num, sizeof (unsigned short), name) #define VARRAY_INT_INIT(va,num,name) va = varray_init (num, sizeof (int), name) #define VARRAY_UINT_INIT(va,num,name) va = varray_init (num, sizeof (unsigned int), name) #define VARRAY_LONG_INIT(va,num,name) va = varray_init (num, sizeof (long), name) #define VARRAY_ULONG_INIT(va,num,name) va = varray_init (num, sizeof (unsigned long), name) #define VARRAY_WIDE_INT_INIT(va,num,name) va = varray_init (num, sizeof (HOST_WIDE_INT), name) #define VARRAY_UWIDE_INT_INIT(va,num,name) va = varray_init (num, sizeof (unsigned HOST_WIDE_INT), name) #define VARRAY_GENERIC_PTR_INIT(va,num,name) va = varray_init (num, sizeof (PTR), name) #define VARRAY_CHAR_PTR_INIT(va,num,name) va = varray_init (num, sizeof (char *), name) #define VARRAY_RTX_INIT(va,num,name) va = varray_init (num, sizeof (struct rtx_def *), name) #define VARRAY_RTVEC_INIT(va,num,name) va = varray_init (num, sizeof (struct rtvec_def), name) #define VARRAY_TREE_INIT(va,num,name) va = varray_init (num, sizeof (union tree_node *), name) #define VARRAY_BITMAP_INIT(va,num,name) va = varray_init (num, sizeof (struct bitmap_head_def *), name) #define VARRAY_SCHED_INIT(va,num,name) va = varray_init (num, sizeof (struct sched_info_tag *), name) #define VARRAY_REG_INIT(va,num,name) va = varray_init (num, sizeof (struct reg_info_def *), name) #define VARRAY_CONST_EQUIV_INIT(va,num,name) va = varray_init (num, sizeof (struct const_equiv_data), name) #define VARRAY_BB_INIT(va,num,name) va = varray_init (num, sizeof (struct basic_block_def *), name) #define VARRAY_ELT_LIST_INIT(va,num,name) va = varray_init (num, sizeof (struct elt_list *), name) #define VARRAY_FREE(vp) do { if (vp) { free (vp); vp = (varray_type) 0; } } while (0) extern varray_type varray_grow (varray_type, size_t); #define VARRAY_GROW(VA,N) ((VA) = varray_grow (VA, N)) #define VARRAY_SIZE(VA) ((VA)->num_elements) #define VARRAY_ACTIVE_SIZE(VA) ((VA)->elements_used) #define VARRAY_POP_ALL(VA) ((VA)->elements_used = 0) # 186 "varray.h" #define VARRAY_CHECK(VA,N,T) ((VA)->data.T[N]) #define VARRAY_PUSH(VA,T,X) do { if ((VA)->elements_used >= (VA)->num_elements) VARRAY_GROW ((VA), 2 * (VA)->num_elements); (VA)->data.T[(VA)->elements_used++] = (X); } while (0) # 201 "varray.h" #define VARRAY_POP(VA) ((VA)->elements_used--) #define VARRAY_TOP(VA,T) ((VA)->data.T[(VA)->elements_used - 1]) #define VARRAY_CHAR(VA,N) VARRAY_CHECK (VA, N, c) #define VARRAY_UCHAR(VA,N) VARRAY_CHECK (VA, N, uc) #define VARRAY_SHORT(VA,N) VARRAY_CHECK (VA, N, s) #define VARRAY_USHORT(VA,N) VARRAY_CHECK (VA, N, us) #define VARRAY_INT(VA,N) VARRAY_CHECK (VA, N, i) #define VARRAY_UINT(VA,N) VARRAY_CHECK (VA, N, u) #define VARRAY_LONG(VA,N) VARRAY_CHECK (VA, N, l) #define VARRAY_ULONG(VA,N) VARRAY_CHECK (VA, N, ul) #define VARRAY_WIDE_INT(VA,N) VARRAY_CHECK (VA, N, hint) #define VARRAY_UWIDE_INT(VA,N) VARRAY_CHECK (VA, N, uhint) #define VARRAY_GENERIC_PTR(VA,N) VARRAY_CHECK (VA, N, generic) #define VARRAY_CHAR_PTR(VA,N) VARRAY_CHECK (VA, N, cptr) #define VARRAY_RTX(VA,N) VARRAY_CHECK (VA, N, rtx) #define VARRAY_RTVEC(VA,N) VARRAY_CHECK (VA, N, rtvec) #define VARRAY_TREE(VA,N) VARRAY_CHECK (VA, N, tree) #define VARRAY_BITMAP(VA,N) VARRAY_CHECK (VA, N, bitmap) #define VARRAY_SCHED(VA,N) VARRAY_CHECK (VA, N, sched) #define VARRAY_REG(VA,N) VARRAY_CHECK (VA, N, reg) #define VARRAY_CONST_EQUIV(VA,N) VARRAY_CHECK (VA, N, const_equiv) #define VARRAY_BB(VA,N) VARRAY_CHECK (VA, N, bb) #define VARRAY_ELT_LIST(VA,N) VARRAY_CHECK (VA, N, te) #define VARRAY_PUSH_CHAR(VA,X) VARRAY_PUSH (VA, c, X) #define VARRAY_PUSH_UCHAR(VA,X) VARRAY_PUSH (VA, uc, X) #define VARRAY_PUSH_SHORT(VA,X) VARRAY_PUSH (VA, s, X) #define VARRAY_PUSH_USHORT(VA,X) VARRAY_PUSH (VA, us, X) #define VARRAY_PUSH_INT(VA,X) VARRAY_PUSH (VA, i, X) #define VARRAY_PUSH_UINT(VA,X) VARRAY_PUSH (VA, u, X) #define VARRAY_PUSH_LONG(VA,X) VARRAY_PUSH (VA, l, X) #define VARRAY_PUSH_ULONG(VA,X) VARRAY_PUSH (VA, ul, X) #define VARRAY_PUSH_WIDE_INT(VA,X) VARRAY_PUSH (VA, hint, X) #define VARRAY_PUSH_UWIDE_INT(VA,X) VARRAY_PUSH (VA, uhint, X) #define VARRAY_PUSH_GENERIC_PTR(VA,X) VARRAY_PUSH (VA, generic, X) #define VARRAY_PUSH_CHAR_PTR(VA,X) VARRAY_PUSH (VA, cptr, X) #define VARRAY_PUSH_RTX(VA,X) VARRAY_PUSH (VA, rtx, X) #define VARRAY_PUSH_RTVEC(VA,X) VARRAY_PUSH (VA, rtvec, X) #define VARRAY_PUSH_TREE(VA,X) VARRAY_PUSH (VA, tree, X) #define VARRAY_PUSH_BITMAP(VA,X) VARRAY_PUSH (VA, bitmap, X) #define VARRAY_PUSH_SCHED(VA,X) VARRAY_PUSH (VA, sched, X) #define VARRAY_PUSH_REG(VA,X) VARRAY_PUSH (VA, reg, X) #define VARRAY_PUSH_CONST_EQUIV(VA,X) VARRAY_PUSH (VA, const_equiv, X) #define VARRAY_PUSH_BB(VA,X) VARRAY_PUSH (VA, bb, X) #define VARRAY_TOP_CHAR(VA) VARRAY_TOP (VA, c) #define VARRAY_TOP_UCHAR(VA) VARRAY_TOP (VA, uc) #define VARRAY_TOP_SHORT(VA) VARRAY_TOP (VA, s) #define VARRAY_TOP_USHORT(VA) VARRAY_TOP (VA, us) #define VARRAY_TOP_INT(VA) VARRAY_TOP (VA, i) #define VARRAY_TOP_UINT(VA) VARRAY_TOP (VA, u) #define VARRAY_TOP_LONG(VA) VARRAY_TOP (VA, l) #define VARRAY_TOP_ULONG(VA) VARRAY_TOP (VA, ul) #define VARRAY_TOP_WIDE_INT(VA) VARRAY_TOP (VA, hint) #define VARRAY_TOP_UWIDE_INT(VA) VARRAY_TOP (VA, uhint) #define VARRAY_TOP_GENERIC_PTR(VA) VARRAY_TOP (VA, generic) #define VARRAY_TOP_CHAR_PTR(VA) VARRAY_TOP (VA, cptr) #define VARRAY_TOP_RTX(VA) VARRAY_TOP (VA, rtx) #define VARRAY_TOP_RTVEC(VA) VARRAY_TOP (VA, rtvec) #define VARRAY_TOP_TREE(VA) VARRAY_TOP (VA, tree) #define VARRAY_TOP_BITMAP(VA) VARRAY_TOP (VA, bitmap) #define VARRAY_TOP_SCHED(VA) VARRAY_TOP (VA, sched) #define VARRAY_TOP_REG(VA) VARRAY_TOP (VA, reg) #define VARRAY_TOP_CONST_EQUIV(VA) VARRAY_TOP (VA, const_equiv) #define VARRAY_TOP_BB(VA) VARRAY_TOP (VA, bb) # 24 "regs.h" 2 #define REG_BYTES(R) mode_size[(int) GET_MODE (R)] #define REGMODE_NATURAL_SIZE(MODE) UNITS_PER_WORD # 42 "regs.h" extern int max_regno; typedef struct reg_info_def { int first_uid; int last_uid; int last_note_uid; int sets; int refs; int freq; int deaths; int live_length; int calls_crossed; int basic_block; char changes_mode; } reg_info; extern varray_type reg_n_info; #define REG_N_REFS(N) (VARRAY_REG (reg_n_info, N)->refs) #define REG_FREQ(N) (VARRAY_REG (reg_n_info, N)->freq) #define REG_FREQ_MAX 1000 #define REG_FREQ_FROM_BB(bb) (optimize_size || (flag_branch_probabilities && !ENTRY_BLOCK_PTR->count) ? REG_FREQ_MAX : ((bb)->frequency * REG_FREQ_MAX / BB_FREQ_MAX) ? ((bb)->frequency * REG_FREQ_MAX / BB_FREQ_MAX) : 1) # 97 "regs.h" #define REG_N_SETS(N) (VARRAY_REG (reg_n_info, N)->sets) #define REG_N_DEATHS(N) (VARRAY_REG (reg_n_info, N)->deaths) #define REG_CHANGES_MODE(N) (VARRAY_REG (reg_n_info, N)->changes_mode) #define PSEUDO_REGNO_SIZE(N) ((GET_MODE_SIZE (PSEUDO_REGNO_MODE (N)) + UNITS_PER_WORD - 1) / UNITS_PER_WORD) #define PSEUDO_REGNO_BYTES(N) GET_MODE_SIZE (PSEUDO_REGNO_MODE (N)) #define PSEUDO_REGNO_MODE(N) GET_MODE (regno_reg_rtx[N]) #define REG_N_CALLS_CROSSED(N) (VARRAY_REG (reg_n_info, N)->calls_crossed) # 148 "regs.h" #define REG_LIVE_LENGTH(N) (VARRAY_REG (reg_n_info, N)->live_length) # 157 "regs.h" extern short *reg_renumber; extern char regs_ever_live[53]; extern const char * reg_names[53]; extern enum machine_mode reg_raw_mode[53]; #define REGNO_FIRST_UID(N) (VARRAY_REG (reg_n_info, N)->first_uid) #define REGNO_LAST_UID(N) (VARRAY_REG (reg_n_info, N)->last_uid) #define REGNO_LAST_NOTE_UID(N) (VARRAY_REG (reg_n_info, N)->last_note_uid) extern rtx regs_may_share; extern int caller_save_needed; #define CALLER_SAVE_PROFITABLE(REFS,CALLS) (4 * (CALLS) < (REFS)) # 226 "regs.h" #define HARD_REGNO_CALL_PART_CLOBBERED(REGNO,MODE) 0 extern void allocate_reg_info (size_t, int, int); # 29 "regrename.c" 2 # 1 "hard-reg-set.h" 1 # 22 "hard-reg-set.h" #define GCC_HARD_REG_SET_H # 41 "hard-reg-set.h" typedef unsigned long HARD_REG_ELT_TYPE; #define HARD_REG_SET HARD_REG_ELT_TYPE # 59 "hard-reg-set.h" #define HARD_CONST(X) ((HARD_REG_ELT_TYPE) (X)) # 90 "hard-reg-set.h" #define SET_HARD_REG_BIT(SET,BIT) ((SET) |= HARD_CONST (1) << (BIT)) #define CLEAR_HARD_REG_BIT(SET,BIT) ((SET) &= ~(HARD_CONST (1) << (BIT))) #define TEST_HARD_REG_BIT(SET,BIT) ((SET) & (HARD_CONST (1) << (BIT))) #define CLEAR_HARD_REG_SET(TO) ((TO) = HARD_CONST (0)) #define SET_HARD_REG_SET(TO) ((TO) = ~ HARD_CONST (0)) #define COPY_HARD_REG_SET(TO,FROM) ((TO) = (FROM)) #define COMPL_HARD_REG_SET(TO,FROM) ((TO) = ~(FROM)) #define IOR_HARD_REG_SET(TO,FROM) ((TO) |= (FROM)) #define IOR_COMPL_HARD_REG_SET(TO,FROM) ((TO) |= ~ (FROM)) #define AND_HARD_REG_SET(TO,FROM) ((TO) &= (FROM)) #define AND_COMPL_HARD_REG_SET(TO,FROM) ((TO) &= ~ (FROM)) #define GO_IF_HARD_REG_SUBSET(X,Y,TO) if (HARD_CONST (0) == ((X) & ~(Y))) goto TO #define GO_IF_HARD_REG_EQUAL(X,Y,TO) if ((X) == (Y)) goto TO # 395 "hard-reg-set.h" extern char fixed_regs[53]; extern HARD_REG_ELT_TYPE fixed_reg_set; extern char call_used_regs[53]; extern HARD_REG_ELT_TYPE call_used_reg_set; extern HARD_REG_ELT_TYPE losing_caller_save_reg_set; extern char call_fixed_regs[53]; extern HARD_REG_ELT_TYPE call_fixed_reg_set; extern char global_regs[53]; # 441 "hard-reg-set.h" extern HARD_REG_ELT_TYPE regs_invalidated_by_call; extern int reg_alloc_order[53]; extern int inv_reg_alloc_order[53]; extern HARD_REG_ELT_TYPE reg_class_contents[((int) LIM_REG_CLASSES)]; extern unsigned int reg_class_size[((int) LIM_REG_CLASSES)]; extern enum reg_class reg_class_superclasses[((int) LIM_REG_CLASSES)][((int) LIM_REG_CLASSES)]; extern enum reg_class reg_class_subclasses[((int) LIM_REG_CLASSES)][((int) LIM_REG_CLASSES)]; extern enum reg_class reg_class_subunion[((int) LIM_REG_CLASSES)][((int) LIM_REG_CLASSES)]; extern enum reg_class reg_class_superunion[((int) LIM_REG_CLASSES)][((int) LIM_REG_CLASSES)]; extern int n_non_fixed_regs; extern const char * reg_names[53]; # 30 "regrename.c" 2 # 1 "basic-block.h" 1 # 23 "basic-block.h" #define GCC_BASIC_BLOCK_H # 1 "bitmap.h" 1 # 23 "bitmap.h" #define GCC_BITMAP_H #define BITMAP_ELEMENT_WORDS 2 #define BITMAP_ELEMENT_ALL_BITS ((unsigned) (BITMAP_ELEMENT_WORDS * HOST_BITS_PER_WIDE_INT)) typedef struct bitmap_element_def { struct bitmap_element_def *next; struct bitmap_element_def *prev; unsigned int indx; unsigned long bits[2]; } bitmap_element; typedef struct bitmap_head_def { bitmap_element *first; bitmap_element *current; unsigned int indx; } bitmap_head, *bitmap; enum bitmap_bits { BITMAP_AND, BITMAP_AND_COMPL, BITMAP_IOR, BITMAP_XOR, BITMAP_IOR_COMPL }; extern bitmap_element bitmap_zero_bits; extern void bitmap_clear (bitmap); extern void bitmap_copy (bitmap, bitmap); extern int bitmap_equal_p (bitmap, bitmap); extern int bitmap_operation (bitmap, bitmap, bitmap, enum bitmap_bits); extern void bitmap_ior_and_compl (bitmap, bitmap, bitmap); extern void bitmap_clear_bit (bitmap, int); extern void bitmap_set_bit (bitmap, int); extern int bitmap_bit_p (bitmap, int); extern void debug_bitmap (bitmap); extern void debug_bitmap_file (FILE *, bitmap); extern void bitmap_print (FILE *, bitmap, const char *, const char *); extern bitmap bitmap_initialize (bitmap); extern void bitmap_release_memory (void); #define dump_bitmap(file,bitmap) bitmap_print (file, bitmap, "", "\n") #define bitmap_zero(a) bitmap_clear (a) #define bitmap_a_or_b(a,b,c) bitmap_operation (a, b, c, BITMAP_IOR) #define bitmap_a_and_b(a,b,c) bitmap_operation (a, b, c, BITMAP_AND) extern int bitmap_union_of_diff (bitmap, bitmap, bitmap, bitmap); extern int bitmap_first_set_bit (bitmap); extern int bitmap_last_set_bit (bitmap); #define BITMAP_OBSTACK_ALLOC(OBSTACK) bitmap_initialize ((bitmap) obstack_alloc (OBSTACK, sizeof (bitmap_head))) #define BITMAP_ALLOCA(PTR) do { bitmap temp_bitmap_ = (bitmap) alloca (sizeof (bitmap_head)); (PTR) = bitmap_initialize (temp_bitmap_); } while (0) #define BITMAP_XMALLOC() bitmap_initialize ((bitmap) xmalloc (sizeof (bitmap_head))) #define BITMAP_FREE(BITMAP) do { if (BITMAP) { bitmap_clear (BITMAP); (BITMAP) = 0; } } while (0) # 148 "bitmap.h" #define BITMAP_XFREE(BITMAP) do { if (BITMAP) { bitmap_clear (BITMAP); free (BITMAP); (BITMAP) = 0; } } while (0) # 159 "bitmap.h" #define BITMAP_INIT_ONCE() #define EXECUTE_IF_SET_IN_BITMAP(BITMAP,MIN,BITNUM,CODE) do { bitmap_element *ptr_ = (BITMAP)->first; unsigned int indx_ = (MIN) / BITMAP_ELEMENT_ALL_BITS; unsigned bit_num_ = (MIN) % ((unsigned) HOST_BITS_PER_WIDE_INT); unsigned word_num_ = (((MIN) / ((unsigned) HOST_BITS_PER_WIDE_INT)) % BITMAP_ELEMENT_WORDS); while (ptr_ != 0 && ptr_->indx < indx_) ptr_ = ptr_->next; if (ptr_ != 0 && ptr_->indx != indx_) { bit_num_ = 0; word_num_ = 0; } for (; ptr_ != 0; ptr_ = ptr_->next) { for (; word_num_ < BITMAP_ELEMENT_WORDS; word_num_++) { unsigned HOST_WIDE_INT word_ = ptr_->bits[word_num_]; if (word_ != 0) { for (; bit_num_ < HOST_BITS_PER_WIDE_INT; bit_num_++) { unsigned HOST_WIDE_INT mask_ = ((unsigned HOST_WIDE_INT) 1) << bit_num_; if ((word_ & mask_) != 0) { word_ &= ~ mask_; (BITNUM) = (ptr_->indx * BITMAP_ELEMENT_ALL_BITS + word_num_ * HOST_BITS_PER_WIDE_INT + bit_num_); CODE; if (word_ == 0) break; } } } bit_num_ = 0; } word_num_ = 0; } } while (0) # 221 "bitmap.h" #define EXECUTE_IF_AND_COMPL_IN_BITMAP(BITMAP1,BITMAP2,MIN,BITNUM,CODE) do { bitmap_element *ptr1_ = (BITMAP1)->first; bitmap_element *ptr2_ = (BITMAP2)->first; unsigned int indx_ = (MIN) / BITMAP_ELEMENT_ALL_BITS; unsigned bit_num_ = (MIN) % ((unsigned) HOST_BITS_PER_WIDE_INT); unsigned word_num_ = (((MIN) / ((unsigned) HOST_BITS_PER_WIDE_INT)) % BITMAP_ELEMENT_WORDS); while (ptr1_ != 0 && ptr1_->indx < indx_) ptr1_ = ptr1_->next; if (ptr1_ != 0 && ptr1_->indx != indx_) { bit_num_ = 0; word_num_ = 0; } for (; ptr1_ != 0 ; ptr1_ = ptr1_->next) { bitmap_element *tmp2_; while (ptr2_ != 0 && ptr2_->indx < ptr1_->indx) ptr2_ = ptr2_->next; tmp2_ = ((ptr2_ != 0 && ptr2_->indx == ptr1_->indx) ? ptr2_ : &bitmap_zero_bits); for (; word_num_ < BITMAP_ELEMENT_WORDS; word_num_++) { unsigned HOST_WIDE_INT word_ = (ptr1_->bits[word_num_] & ~ tmp2_->bits[word_num_]); if (word_ != 0) { for (; bit_num_ < HOST_BITS_PER_WIDE_INT; bit_num_++) { unsigned HOST_WIDE_INT mask_ = ((unsigned HOST_WIDE_INT)1) << bit_num_; if ((word_ & mask_) != 0) { word_ &= ~ mask_; (BITNUM) = (ptr1_->indx * BITMAP_ELEMENT_ALL_BITS + word_num_ * HOST_BITS_PER_WIDE_INT + bit_num_); CODE; if (word_ == 0) break; } } } bit_num_ = 0; } word_num_ = 0; } } while (0) # 288 "bitmap.h" #define EXECUTE_IF_AND_IN_BITMAP(BITMAP1,BITMAP2,MIN,BITNUM,CODE) do { bitmap_element *ptr1_ = (BITMAP1)->first; bitmap_element *ptr2_ = (BITMAP2)->first; unsigned int indx_ = (MIN) / BITMAP_ELEMENT_ALL_BITS; unsigned bit_num_ = (MIN) % ((unsigned) HOST_BITS_PER_WIDE_INT); unsigned word_num_ = (((MIN) / ((unsigned) HOST_BITS_PER_WIDE_INT)) % BITMAP_ELEMENT_WORDS); while (ptr1_ != 0 && ptr1_->indx < indx_) ptr1_ = ptr1_->next; if (ptr1_ != 0 && ptr1_->indx != indx_) { bit_num_ = 0; word_num_ = 0; } for (; ptr1_ != 0 ; ptr1_ = ptr1_->next) { while (ptr2_ != 0 && ptr2_->indx < ptr1_->indx) ptr2_ = ptr2_->next; if (ptr2_ == 0) { ptr1_ = (bitmap_element *)0; break; } else if (ptr2_->indx > ptr1_->indx) { bit_num_ = word_num_ = 0; continue; } for (; word_num_ < BITMAP_ELEMENT_WORDS; word_num_++) { unsigned HOST_WIDE_INT word_ = (ptr1_->bits[word_num_] & ptr2_->bits[word_num_]); if (word_ != 0) { for (; bit_num_ < HOST_BITS_PER_WIDE_INT; bit_num_++) { unsigned HOST_WIDE_INT mask_ = ((unsigned HOST_WIDE_INT)1) << bit_num_; if ((word_ & mask_) != 0) { word_ &= ~ mask_; (BITNUM) = (ptr1_->indx * BITMAP_ELEMENT_ALL_BITS + word_num_ * HOST_BITS_PER_WIDE_INT + bit_num_); CODE; if (word_ == 0) break; } } } bit_num_ = 0; } word_num_ = 0; } } while (0) # 26 "basic-block.h" 2 # 1 "sbitmap.h" 1 # 22 "sbitmap.h" #define GCC_SBITMAP_H #define SBITMAP_ELT_BITS ((unsigned) HOST_BITS_PER_WIDE_INT) #define SBITMAP_ELT_TYPE unsigned HOST_WIDE_INT typedef struct simple_bitmap_def { unsigned int n_bits; unsigned int size; unsigned int bytes; unsigned long elms[1]; } *sbitmap; typedef unsigned long *sbitmap_ptr; #define SBITMAP_SET_SIZE(N) (((N) + SBITMAP_ELT_BITS - 1) / SBITMAP_ELT_BITS) #define SET_BIT(BITMAP,BITNO) ((BITMAP)->elms [(BITNO) / SBITMAP_ELT_BITS] |= (SBITMAP_ELT_TYPE) 1 << (BITNO) % SBITMAP_ELT_BITS) #define TEST_BIT(BITMAP,BITNO) ((BITMAP)->elms [(BITNO) / SBITMAP_ELT_BITS] >> (BITNO) % SBITMAP_ELT_BITS & 1) #define RESET_BIT(BITMAP,BITNO) ((BITMAP)->elms [(BITNO) / SBITMAP_ELT_BITS] &= ~((SBITMAP_ELT_TYPE) 1 << (BITNO) % SBITMAP_ELT_BITS)) #define EXECUTE_IF_SET_IN_SBITMAP(SBITMAP,MIN,N,CODE) do { unsigned int word_num_; unsigned int bit_num_ = (MIN) % (unsigned int) SBITMAP_ELT_BITS; unsigned int size_ = (SBITMAP)->size; SBITMAP_ELT_TYPE *ptr_ = (SBITMAP)->elms; for (word_num_ = (MIN) / (unsigned int) SBITMAP_ELT_BITS; word_num_ < size_; word_num_++, bit_num_ = 0) { SBITMAP_ELT_TYPE word_ = ptr_[word_num_]; if (word_ != 0) for (; bit_num_ < SBITMAP_ELT_BITS; bit_num_++) { SBITMAP_ELT_TYPE _mask = (SBITMAP_ELT_TYPE) 1 << bit_num_; if ((word_ & _mask) != 0) { word_ &= ~ _mask; (N) = word_num_ * SBITMAP_ELT_BITS + bit_num_; CODE; if (word_ == 0) break; } } } } while (0) # 88 "sbitmap.h" #define sbitmap_free(MAP) free(MAP) #define sbitmap_vector_free(VEC) free(VEC) struct int_list; extern void dump_sbitmap (FILE *, sbitmap); extern void dump_sbitmap_vector (FILE *, const char *, const char *, sbitmap *, int) ; extern sbitmap sbitmap_alloc (unsigned int); extern sbitmap *sbitmap_vector_alloc (unsigned int, unsigned int); extern void sbitmap_copy (sbitmap, sbitmap); extern int sbitmap_equal (sbitmap, sbitmap); extern void sbitmap_zero (sbitmap); extern void sbitmap_ones (sbitmap); extern void sbitmap_vector_zero (sbitmap *, unsigned int); extern void sbitmap_vector_ones (sbitmap *, unsigned int); extern int sbitmap_union_of_diff (sbitmap, sbitmap, sbitmap, sbitmap) ; extern void sbitmap_difference (sbitmap, sbitmap, sbitmap); extern void sbitmap_not (sbitmap, sbitmap); extern int sbitmap_a_or_b_and_c (sbitmap, sbitmap, sbitmap, sbitmap) ; extern int sbitmap_a_and_b_or_c (sbitmap, sbitmap, sbitmap, sbitmap) ; extern int sbitmap_a_and_b (sbitmap, sbitmap, sbitmap); extern int sbitmap_a_or_b (sbitmap, sbitmap, sbitmap); extern int sbitmap_a_xor_b (sbitmap, sbitmap, sbitmap); extern int sbitmap_a_subset_b_p (sbitmap, sbitmap); extern int sbitmap_first_set_bit (sbitmap); extern int sbitmap_last_set_bit (sbitmap); extern void sbitmap_intersect_of_predsucc (sbitmap, sbitmap *, int, struct int_list **) ; #define sbitmap_intersect_of_predecessors sbitmap_intersect_of_predsucc #define sbitmap_intersect_of_successors sbitmap_intersect_of_predsucc extern void sbitmap_union_of_predsucc (sbitmap, sbitmap *, int, struct int_list **) ; #define sbitmap_union_of_predecessors sbitmap_union_of_predsucc #define sbitmap_union_of_successors sbitmap_union_of_predsucc extern void sbitmap_intersection_of_succs (sbitmap, sbitmap *, int); extern void sbitmap_intersection_of_preds (sbitmap, sbitmap *, int); extern void sbitmap_union_of_succs (sbitmap, sbitmap *, int); extern void sbitmap_union_of_preds (sbitmap, sbitmap *, int); extern void debug_sbitmap (sbitmap); # 27 "basic-block.h" 2 # 1 "partition.h" 1 # 37 "partition.h" #define _PARTITION_H # 1 "./ansidecl.h" 1 # 44 "partition.h" 2 struct partition_elem { int class_element; struct partition_elem* next; unsigned class_count; }; typedef struct partition_def { int num_elements; struct partition_elem elements[1]; } *partition; extern partition partition_new (int); extern void partition_delete (partition); extern int partition_union (partition, int, int) ; extern void partition_print (partition, FILE*) ; #define partition_find(partition__,element__) ((partition__)->elements[(element__)].class_element) # 29 "basic-block.h" 2 typedef bitmap_head regset_head; typedef bitmap regset; #define INIT_REG_SET(HEAD) bitmap_initialize (HEAD) #define CLEAR_REG_SET(HEAD) bitmap_clear (HEAD) #define COPY_REG_SET(TO,FROM) bitmap_copy (TO, FROM) #define REG_SET_EQUAL_P(A,B) bitmap_equal_p (A, B) #define AND_REG_SET(TO,FROM) bitmap_operation (TO, TO, FROM, BITMAP_AND) #define AND_COMPL_REG_SET(TO,FROM) bitmap_operation (TO, TO, FROM, BITMAP_AND_COMPL) #define IOR_REG_SET(TO,FROM) bitmap_operation (TO, TO, FROM, BITMAP_IOR) #define XOR_REG_SET(TO,FROM) bitmap_operation (TO, TO, FROM, BITMAP_XOR) #define IOR_AND_COMPL_REG_SET(TO,FROM1,FROM2) bitmap_ior_and_compl (TO, FROM1, FROM2) #define CLEAR_REGNO_REG_SET(HEAD,REG) bitmap_clear_bit (HEAD, REG) #define SET_REGNO_REG_SET(HEAD,REG) bitmap_set_bit (HEAD, REG) #define REGNO_REG_SET_P(TO,REG) bitmap_bit_p (TO, REG) extern void reg_set_to_hard_reg_set (HARD_REG_ELT_TYPE *, bitmap); #define REG_SET_TO_HARD_REG_SET(TO,FROM) do { CLEAR_HARD_REG_SET (TO); reg_set_to_hard_reg_set (&TO, FROM); } while (0) #define EXECUTE_IF_SET_IN_REG_SET(REGSET,MIN,REGNUM,CODE) EXECUTE_IF_SET_IN_BITMAP (REGSET, MIN, REGNUM, CODE) #define EXECUTE_IF_AND_COMPL_IN_REG_SET(REGSET1,REGSET2,MIN,REGNUM,CODE) EXECUTE_IF_AND_COMPL_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, CODE) #define EXECUTE_IF_AND_IN_REG_SET(REGSET1,REGSET2,MIN,REGNUM,CODE) EXECUTE_IF_AND_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, CODE) #define OBSTACK_ALLOC_REG_SET(OBSTACK) BITMAP_OBSTACK_ALLOC (OBSTACK) #define INITIALIZE_REG_SET(HEAD) bitmap_initialize (&HEAD) #define FREE_REG_SET(REGSET) BITMAP_FREE(REGSET) #define INIT_ONCE_REG_SET() BITMAP_INIT_ONCE () #define MAX_REGNO_REG_SET(NUM_REGS,NEW_P,RENUMBER_P) typedef long gcov_type; typedef struct edge_def { struct edge_def *pred_next, *succ_next; struct basic_block_def *src, *dest; rtx insns; void *aux; int flags; int probability; gcov_type count; } *edge; #define EDGE_FALLTHRU 1 #define EDGE_ABNORMAL 2 #define EDGE_ABNORMAL_CALL 4 #define EDGE_EH 8 #define EDGE_FAKE 16 #define EDGE_DFS_BACK 32 #define EDGE_COMPLEX (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL | EDGE_EH) # 174 "basic-block.h" typedef struct basic_block_def { rtx head, end; tree head_tree; tree end_tree; edge pred, succ; regset local_set; regset cond_local_set; regset global_live_at_start; regset global_live_at_end; void *aux; int index; int loop_depth; gcov_type count; int frequency; int flags; } *basic_block; #define BB_FREQ_MAX 10000 #define BB_REACHABLE 1 extern int n_basic_blocks; extern int n_edges; extern varray_type basic_block_info; #define BASIC_BLOCK(N) (VARRAY_BB (basic_block_info, (N))) extern regset regs_live_at_setjmp; extern rtx label_value_list, tail_recursion_label_list; extern struct obstack flow_obstack; # 257 "basic-block.h" #define REG_BLOCK_UNKNOWN -1 #define REG_BLOCK_GLOBAL -2 #define REG_BASIC_BLOCK(N) (VARRAY_REG (reg_n_info, N)->basic_block) #define BLOCK_HEAD(B) (BASIC_BLOCK (B)->head) #define BLOCK_END(B) (BASIC_BLOCK (B)->end) #define BLOCK_HEAD_TREE(B) (BASIC_BLOCK (B)->head_tree) #define BLOCK_END_TREE(B) (BASIC_BLOCK (B)->end_tree) #define ENTRY_BLOCK (-1) #define EXIT_BLOCK (-2) #define INVALID_BLOCK (-3) extern struct basic_block_def entry_exit_blocks[2]; #define ENTRY_BLOCK_PTR (&entry_exit_blocks[0]) #define EXIT_BLOCK_PTR (&entry_exit_blocks[1]) extern varray_type basic_block_for_insn; #define BLOCK_FOR_INSN(INSN) VARRAY_BB (basic_block_for_insn, INSN_UID (INSN)) #define BLOCK_NUM(INSN) (BLOCK_FOR_INSN (INSN)->index + 0) extern void compute_bb_for_insn (int); extern void free_bb_for_insn (void); extern void update_bb_for_insn (basic_block); extern void set_block_for_insn (rtx, basic_block); extern void free_basic_block_vars (int); extern edge split_block (basic_block, rtx); extern basic_block split_edge (edge); extern void insert_insn_on_edge (rtx, edge); extern void commit_edge_insertions (void); extern void remove_fake_edges (void); extern void add_noreturn_fake_exit_edges (void); extern void connect_infinite_loops_to_exit (void); extern int flow_call_edges_add (sbitmap); extern edge cached_make_edge (sbitmap *, basic_block, basic_block, int) ; extern edge make_edge (basic_block, basic_block, int) ; extern edge make_single_succ_edge (basic_block, basic_block, int) ; extern void remove_edge (edge); extern void redirect_edge_succ (edge, basic_block); extern edge redirect_edge_succ_nodup (edge, basic_block); extern void redirect_edge_pred (edge, basic_block); extern basic_block create_basic_block_structure (int, rtx, rtx, rtx); extern basic_block create_basic_block (int, rtx, rtx); extern int flow_delete_block (basic_block); extern int flow_delete_block_noexpunge (basic_block); extern void merge_blocks_nomove (basic_block, basic_block); extern void tidy_fallthru_edge (edge, basic_block, basic_block) ; extern void tidy_fallthru_edges (void); extern void flow_reverse_top_sort_order_compute (int *); extern int flow_depth_first_order_compute (int *, int *); extern void flow_preorder_transversal_compute (int *); extern void dump_edge_info (FILE *, edge, int); extern void clear_edges (void); extern void mark_critical_edges (void); extern rtx first_insn_after_basic_block_note (basic_block); struct loop { int num; basic_block header; basic_block latch; basic_block pre_header; edge *pre_header_edges; int num_pre_header_edges; basic_block first; basic_block last; sbitmap nodes; int num_nodes; edge *entry_edges; int num_entries; edge *exit_edges; int num_exits; sbitmap exits_doms; int depth; int level; struct loop *outer; struct loop *inner; struct loop *next; int shared; int invalid; void *aux; rtx vtop; rtx cont; rtx cont_dominator; rtx start; rtx end; rtx top; rtx scan_start; rtx sink; # 442 "basic-block.h" rtx exit_labels; int exit_count; }; struct loops { int num; int levels; struct loop *array; struct loop *tree_root; struct cfg { sbitmap *dom; int *dfs_order; int *rc_order; } cfg; sbitmap shared_headers; }; extern int flow_loops_find (struct loops *, int flags); extern int flow_loops_update (struct loops *, int flags); extern void flow_loops_free (struct loops *); extern void flow_loops_dump (const struct loops *, FILE *, void (*)(const struct loop *, FILE *, int), int) ; extern void flow_loop_dump (const struct loop *, FILE *, void (*)(const struct loop *, FILE *, int), int) ; extern int flow_loop_scan (struct loops *, struct loop *, int); struct edge_list { int num_blocks; int num_edges; edge *index_to_edge; }; #define EDGE_INDEX_NO_EDGE -1 #define EDGE_INDEX(el,pred,succ) (find_edge_index ((el), (pred), (succ))) #define INDEX_EDGE_PRED_BB(el,index) ((el)->index_to_edge[(index)]->src) #define INDEX_EDGE_SUCC_BB(el,index) ((el)->index_to_edge[(index)]->dest) #define INDEX_EDGE(el,index) ((el)->index_to_edge[(index)]) #define NUM_EDGES(el) ((el)->num_edges) #define FALLTHRU_EDGE(bb) ((bb)->succ->flags & EDGE_FALLTHRU ? (bb)->succ : (bb)->succ->succ_next) #define BRANCH_EDGE(bb) ((bb)->succ->flags & EDGE_FALLTHRU ? (bb)->succ->succ_next : (bb)->succ) #define EDGE_FREQUENCY(e) (((e)->src->frequency * (e)->probability + REG_BR_PROB_BASE / 2) / REG_BR_PROB_BASE) #define EDGE_CRITICAL_P(e) ((e)->src->succ->succ_next && (e)->dest->pred->pred_next) struct edge_list * create_edge_list (void); void free_edge_list (struct edge_list *); void print_edge_list (FILE *, struct edge_list *); void verify_edge_list (FILE *, struct edge_list *); int find_edge_index (struct edge_list *, basic_block, basic_block) ; enum update_life_extent { UPDATE_LIFE_LOCAL = 0, UPDATE_LIFE_GLOBAL = 1, UPDATE_LIFE_GLOBAL_RM_NOTES = 2 }; #define PROP_DEATH_NOTES 1 #define PROP_LOG_LINKS 2 #define PROP_REG_INFO 4 #define PROP_KILL_DEAD_CODE 8 #define PROP_SCAN_DEAD_CODE 16 #define PROP_ALLOW_CFG_CHANGES 32 #define PROP_AUTOINC 64 #define PROP_EQUAL_NOTES 128 #define PROP_FINAL 127 #define CLEANUP_EXPENSIVE 1 #define CLEANUP_CROSSJUMP 2 #define CLEANUP_POST_REGSTACK 4 #define CLEANUP_PRE_SIBCALL 8 #define CLEANUP_PRE_LOOP 16 #define CLEANUP_UPDATE_LIFE 32 #define CLEANUP_THREADING 64 #define LOOP_TREE 1 #define LOOP_PRE_HEADER 2 #define LOOP_ENTRY_EDGES 4 #define LOOP_EXIT_EDGES 8 #define LOOP_EDGES (LOOP_ENTRY_EDGES | LOOP_EXIT_EDGES) #define LOOP_EXITS_DOMS 16 #define LOOP_ALL 31 extern void life_analysis (rtx, FILE *, int); extern void update_life_info (sbitmap, enum update_life_extent, int) ; extern int count_or_remove_death_notes (sbitmap, int); extern int propagate_block (basic_block, regset, regset, regset, int) ; struct propagate_block_info; extern rtx propagate_one_insn (struct propagate_block_info *, rtx); extern struct propagate_block_info *init_propagate_block_info (basic_block, regset, regset, regset, int); extern void free_propagate_block_info (struct propagate_block_info *); extern struct edge_list *pre_edge_lcm (FILE *, int, sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap **, sbitmap **) ; extern struct edge_list *pre_edge_rev_lcm (FILE *, int, sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap **, sbitmap **) ; extern void compute_available (sbitmap *, sbitmap *, sbitmap *, sbitmap *) ; extern int optimize_mode_switching (FILE *); extern rtx emit_block_insn_after (rtx, rtx, basic_block); extern rtx emit_block_insn_before (rtx, rtx, basic_block); extern void estimate_probability (struct loops *); extern void expected_value_to_br_prob (void); extern void init_flow (void); extern void reorder_basic_blocks (void); extern void dump_bb (basic_block, FILE *); extern void debug_bb (basic_block); extern void debug_bb_n (int); extern void dump_regset (regset, FILE *); extern void debug_regset (regset); extern void allocate_reg_life_data (void); extern void allocate_bb_life_data (void); extern void expunge_block (basic_block); extern void expunge_block_nocompact (basic_block); extern basic_block alloc_block (void); extern void find_unreachable_blocks (void); extern void delete_noop_moves (rtx); extern basic_block redirect_edge_and_branch_force (edge, basic_block); extern basic_block force_nonfallthru (edge); extern _Bool redirect_edge_and_branch (edge, basic_block); extern rtx block_label (basic_block); extern _Bool forwarder_block_p (basic_block); extern _Bool purge_all_dead_edges (int); extern _Bool purge_dead_edges (basic_block); extern void find_sub_basic_blocks (basic_block); extern void find_many_sub_basic_blocks (sbitmap); extern _Bool can_fallthru (basic_block, basic_block); extern void flow_nodes_print (const char *, const sbitmap, FILE *) ; extern void flow_edge_list_print (const char *, const edge *, int, FILE *) ; extern void alloc_aux_for_block (basic_block, int); extern void alloc_aux_for_blocks (int); extern void clear_aux_for_blocks (void); extern void free_aux_for_blocks (void); static void alloc_aux_for_edge (edge, int); extern void alloc_aux_for_edges (int); extern void clear_aux_for_edges (void); extern void free_aux_for_edges (void); extern void verify_flow_info (void); extern int flow_loop_outside_edge_p (const struct loop *, edge); typedef struct conflict_graph_def *conflict_graph; typedef int (*conflict_graph_enum_fn) (int, int, void *); extern conflict_graph conflict_graph_new (int); extern void conflict_graph_delete (conflict_graph); extern int conflict_graph_add (conflict_graph, int, int) ; extern int conflict_graph_conflict_p (conflict_graph, int, int) ; extern void conflict_graph_enum (conflict_graph, int, conflict_graph_enum_fn, void *) ; extern void conflict_graph_merge_regs (conflict_graph, int, int) ; extern void conflict_graph_print (conflict_graph, FILE*); extern conflict_graph conflict_graph_compute (regset, partition) ; extern _Bool mark_dfs_back_edges (void); extern void update_br_prob_note (basic_block); extern void fixup_abnormal_edges (void); enum cdi_direction { CDI_DOMINATORS, CDI_POST_DOMINATORS }; extern void calculate_dominance_info (int *, sbitmap *, enum cdi_direction) ; # 31 "regrename.c" 2 # 1 "reload.h" 1 # 35 "reload.h" #define HAVE_SECONDARY_RELOADS # 47 "reload.h" extern int memory_move_secondary_cost (enum machine_mode, enum reg_class, int); #define MAX_RELOADS (2 * MAX_RECOG_OPERANDS * (MAX_REGS_PER_ADDRESS + 1)) # 76 "reload.h" enum reload_type { RELOAD_FOR_INPUT, RELOAD_FOR_OUTPUT, RELOAD_FOR_INSN, RELOAD_FOR_INPUT_ADDRESS, RELOAD_FOR_INPADDR_ADDRESS, RELOAD_FOR_OUTPUT_ADDRESS, RELOAD_FOR_OUTADDR_ADDRESS, RELOAD_FOR_OPERAND_ADDRESS, RELOAD_FOR_OPADDR_ADDR, RELOAD_OTHER, RELOAD_FOR_OTHER_ADDRESS }; # 167 "reload.h" extern rtx *reg_equiv_constant; extern rtx *reg_equiv_memory_loc; extern rtx *reg_equiv_address; extern rtx *reg_equiv_mem; extern int n_earlyclobbers; extern rtx reload_earlyclobbers[30]; extern int reload_n_operands; extern int reload_first_uid; extern char indirect_symref_ok; extern char double_reg_address_ok; extern int num_not_at_initial_offset; struct needs { short regs[2][((int) LIM_REG_CLASSES)]; short groups[((int) LIM_REG_CLASSES)]; }; struct insn_chain { struct insn_chain *next, *prev; struct insn_chain *next_need_reload; int block; rtx insn; regset_head live_throughout; regset_head dead_or_set; struct reload *rld; int n_reloads; HARD_REG_ELT_TYPE used_spill_regs; struct needs need; unsigned int need_reload:1; unsigned int need_operand_change:1; unsigned int need_elim:1; unsigned int is_caller_save_insn:1; }; extern struct insn_chain *reload_insn_chain; extern struct insn_chain *new_insn_chain (void); extern void compute_use_by_pseudos (HARD_REG_ELT_TYPE *, regset); extern rtx get_secondary_mem (rtx, enum machine_mode, int, enum reload_type) ; extern void clear_secondary_mem (void); extern void transfer_replacements (int, int); extern int remove_address_replacements (rtx in_rtx); extern int operands_match_p (rtx, rtx); extern int safe_from_earlyclobber (rtx, rtx); extern int find_reloads (rtx, int, int, int, short *); extern rtx form_sum (rtx, rtx); extern void subst_reloads (rtx); extern void copy_replacements (rtx, rtx); extern void move_replacements (rtx *x, rtx *y); extern rtx find_replacement (rtx *); extern int refers_to_regno_for_reload_p (unsigned int, unsigned int, rtx, rtx *) ; extern int reg_overlap_mentioned_for_reload_p (rtx, rtx); extern int refers_to_mem_for_reload_p (rtx); extern rtx find_equiv_reg (rtx, rtx, enum reg_class, int, short *, int, enum machine_mode) ; extern int regno_clobbered_p (unsigned int, rtx, enum machine_mode, int) ; extern int earlyclobber_operand_p (rtx); extern int push_reload (rtx, rtx, rtx *, rtx *, enum reg_class, enum machine_mode, enum machine_mode, int, int, int, enum reload_type) ; extern void reload_cse_regs (rtx); extern int reloads_conflict (int, int); extern void init_reload (void); extern int reload (rtx, int); extern void mark_home_live (int); extern rtx eliminate_regs (rtx, enum machine_mode, rtx); extern rtx gen_reload (rtx, rtx, int, enum reload_type); extern void deallocate_reload_reg (int r); extern void init_caller_save (void); extern void init_save_areas (void); extern void setup_save_areas (void); extern void save_call_clobbered_regs (void); extern void cleanup_subreg_operands (rtx); extern void debug_reload_to_stream (FILE *); extern void debug_reload (void); # 32 "regrename.c" 2 # 1 "output.h" 1 # 24 "output.h" extern void compute_alignments (void); extern void init_final (const char *); extern void end_final (const char *); extern void app_enable (void); extern void app_disable (void); extern int dbr_sequence_length (void); extern void init_insn_lengths (void); extern int get_attr_length (rtx); extern void shorten_branches (rtx); extern void final_start_function (rtx, FILE *, int); extern void final_end_function (void); extern void final (rtx, FILE *, int, int); extern rtx final_scan_insn (rtx, FILE *, int, int, int); extern rtx alter_subreg (rtx *); extern void output_operand_lossage (const char *, ...) __attribute__ ((__format__ (__printf__, 1, 2))); extern void output_asm_insn (const char *, rtx *); extern int insn_current_reference_address (rtx); extern int label_to_alignment (rtx); extern void output_asm_label (rtx); extern void output_address (rtx); extern void output_addr_const (FILE *, rtx); extern void asm_fprintf (FILE *file, const char *p, ...); extern void split_double (rtx, rtx *, rtx *); extern int leaf_function_p (void); extern int final_forward_branch_p (rtx); extern int only_leaf_regs_used (void); extern void leaf_renumber_regs_insn (rtx); extern const char *get_insn_template (int, rtx); extern int add_weak (const char *, const char *); extern void allocate_for_life_analysis (void); extern int regno_uninitialized (unsigned int); extern int regno_clobbered_at_setjmp (int); extern void find_basic_blocks (rtx, int, FILE *); extern _Bool cleanup_cfg (int); extern void check_function_return_warnings (void); extern void text_section (void); extern void data_section (void); extern void force_data_section (void); extern void readonly_data_section (void); extern int in_text_section (void); # 178 "output.h" extern void bss_section (void); extern void const_section (void); extern void init_section (void); extern void fini_section (void); # 239 "output.h" extern void weak_finish (void); # 248 "output.h" extern int decode_reg_name (const char *); # 292 "output.h" extern void assemble_zeros (int); extern void assemble_align (int); extern void assemble_eh_align (int); extern void assemble_string (const char *, int); extern void assemble_external_libcall (rtx); extern void assemble_global (const char *); extern void assemble_label (const char *); extern void assemble_eh_label (const char *); extern void assemble_name (FILE *, const char *); # 327 "output.h" extern const char *integer_asm_op (int, int); extern void assemble_integer_with_op (const char *, rtx); extern _Bool default_assemble_integer (rtx, unsigned int, int); extern _Bool assemble_integer (rtx, unsigned, unsigned, int); #define assemble_aligned_integer(SIZE,VALUE) assemble_integer (VALUE, SIZE, (SIZE) * BITS_PER_UNIT, 1) # 360 "output.h" extern void clear_const_double_mem (void); extern void defer_addressed_constants (void); extern void output_deferred_addressed_constants (void); extern int get_pool_size (void); # 410 "output.h" extern rtx final_sequence; # 423 "output.h" extern FILE *asm_out_file; extern const char *first_global_object_name; extern const char *weak_global_object_name; extern int current_function_is_leaf; extern int current_function_nothrow; extern int current_function_sp_is_unchanging; extern int current_function_uses_only_leaf_regs; extern FILE *rtl_dump_file; extern struct rtx_def *current_insn_predicate; extern struct rtx_def *current_output_insn; #define DECL_READONLY_SECTION(DECL,RELOC) (TREE_READONLY (DECL) && ! TREE_THIS_VOLATILE (DECL) && DECL_INITIAL (DECL) && (DECL_INITIAL (DECL) == error_mark_node || TREE_CONSTANT (DECL_INITIAL (DECL))) && ! (RELOC && (flag_pic || DECL_ONE_ONLY (DECL)))) # 480 "output.h" extern const char *user_label_prefix; #define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) (VAR) = ((SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*')) extern void default_function_pro_epilogue (FILE *, long); extern void default_exception_section (void); extern void default_eh_frame_section (void); extern void no_asm_to_stream (FILE *); #define SECTION_ENTSIZE 0x000ff #define SECTION_CODE 0x00100 #define SECTION_WRITE 0x00200 #define SECTION_DEBUG 0x00400 #define SECTION_LINKONCE 0x00800 #define SECTION_SMALL 0x01000 #define SECTION_BSS 0x02000 #define SECTION_FORGET 0x04000 #define SECTION_MERGE 0x08000 #define SECTION_STRINGS 0x10000 #define SECTION_OVERRIDE 0x20000 #define SECTION_MACH_DEP 0x40000 extern unsigned int get_named_section_flags (const char *); extern _Bool set_named_section_flags (const char *, unsigned int); extern void named_section_flags (const char *, unsigned int); extern _Bool named_section_first_declaration (const char *); union tree_node; extern unsigned int default_section_type_flags (union tree_node *, const char *, int) ; extern void default_no_named_section (const char *, unsigned int); extern void default_elf_asm_named_section (const char *, unsigned int); extern void default_coff_asm_named_section (const char *, unsigned int) ; extern void default_pe_asm_named_section (const char *, unsigned int); extern void default_stabs_asm_out_destructor (struct rtx_def *, int); extern void default_named_section_asm_out_destructor (struct rtx_def *, int) ; extern void default_dtor_section_asm_out_destructor (struct rtx_def *, int) ; extern void default_stabs_asm_out_constructor (struct rtx_def *, int); extern void default_named_section_asm_out_constructor (struct rtx_def *, int) ; extern void default_ctor_section_asm_out_constructor (struct rtx_def *, int) ; extern void assemble_vtable_entry (struct rtx_def *, long); extern void assemble_vtable_inherit (struct rtx_def *, struct rtx_def *) ; # 33 "regrename.c" 2 # 1 "function.h" 1 # 22 "function.h" struct var_refs_queue { rtx modified; enum machine_mode promoted_mode; int unsignedp; struct var_refs_queue *next; }; struct sequence_stack { rtx first, last; tree sequence_rtl_expr; struct sequence_stack *next; }; extern struct sequence_stack *sequence_stack; struct simple_obstack_stack { struct obstack *obstack; struct simple_obstack_stack *next; }; struct emit_status { int x_reg_rtx_no; int x_first_label_num; rtx x_first_insn; rtx x_last_insn; tree sequence_rtl_expr; struct sequence_stack *sequence_stack; int x_cur_insn_uid; int x_last_linenum; const char *x_last_filename; int regno_pointer_align_length; unsigned char *regno_pointer_align; tree *regno_decl; rtx *x_regno_reg_rtx; }; #define reg_rtx_no (cfun->emit->x_reg_rtx_no) #define seq_rtl_expr (cfun->emit->sequence_rtl_expr) #define regno_reg_rtx (cfun->emit->x_regno_reg_rtx) #define seq_stack (cfun->emit->sequence_stack) #define REGNO_POINTER_ALIGN(REGNO) (cfun->emit->regno_pointer_align[REGNO]) #define REGNO_DECL(REGNO) (cfun->emit->regno_decl[REGNO]) struct expr_status { int x_pending_stack_adjust; # 140 "function.h" int x_inhibit_defer_pop; int x_stack_pointer_delta; rtx x_saveregs_value; rtx x_apply_args_value; rtx x_forced_labels; rtx x_pending_chain; }; #define pending_stack_adjust (cfun->expr->x_pending_stack_adjust) #define inhibit_defer_pop (cfun->expr->x_inhibit_defer_pop) #define saveregs_value (cfun->expr->x_saveregs_value) #define apply_args_value (cfun->expr->x_apply_args_value) #define forced_labels (cfun->expr->x_forced_labels) #define pending_chain (cfun->expr->x_pending_chain) #define stack_pointer_delta (cfun->expr->x_stack_pointer_delta) struct function { struct eh_status *eh; struct stmt_status *stmt; struct expr_status *expr; struct emit_status *emit; struct varasm_status *varasm; const char *name; tree decl; struct function *outer; int pops_args; int args_size; int pretend_args_size; int outgoing_args_size; rtx arg_offset_rtx; CUMULATIVE_ARGS args_info; rtx return_rtx; rtx internal_arg_pointer; const char *cannot_inline; struct initial_value_struct *hard_reg_initial_vals; int x_function_call_count; tree x_nonlocal_labels; rtx x_nonlocal_goto_handler_slots; rtx x_nonlocal_goto_handler_labels; rtx x_nonlocal_goto_stack_level; rtx x_cleanup_label; rtx x_return_label; rtx x_save_expr_regs; rtx x_stack_slot_list; tree x_rtl_expr_chain; rtx x_tail_recursion_label; rtx x_tail_recursion_reentry; rtx x_arg_pointer_save_area; rtx x_clobber_return_insn; long x_frame_offset; tree x_context_display; # 317 "function.h" tree x_trampoline_list; rtx x_parm_birth_insn; rtx x_last_parm_insn; unsigned int x_max_parm_reg; rtx *x_parm_reg_stack_loc; struct temp_slot *x_temp_slots; int x_temp_slot_level; int x_var_temp_slot_level; int x_target_temp_slot_level; struct var_refs_queue *fixup_var_refs_queue; int inlinable; int no_debugging_symbols; void *original_arg_vector; tree original_decl_initial; rtx inl_last_parm_insn; int inl_max_label_num; int profile_label_no; struct machine_function *machine; int stack_alignment_needed; int preferred_stack_boundary; struct language_function *language; rtx epilogue_delay_list; unsigned int returns_struct : 1; unsigned int returns_pcc_struct : 1; unsigned int returns_pointer : 1; unsigned int needs_context : 1; unsigned int calls_setjmp : 1; unsigned int calls_longjmp : 1; unsigned int calls_alloca : 1; unsigned int calls_eh_return : 1; unsigned int has_nonlocal_label : 1; unsigned int has_nonlocal_goto : 1; unsigned int contains_functions : 1; unsigned int has_computed_jump : 1; unsigned int is_thunk : 1; unsigned int instrument_entry_exit : 1; unsigned int profile : 1; unsigned int limit_stack : 1; unsigned int varargs : 1; unsigned int stdarg : 1; unsigned int x_whole_function_mode_p : 1; # 468 "function.h" unsigned int x_dont_save_pending_sizes_p : 1; unsigned int uses_const_pool : 1; unsigned int uses_pic_offset_table : 1; unsigned int uses_eh_lsda : 1; unsigned int arg_pointer_save_area_init : 1; }; extern struct function *cfun; extern int virtuals_instantiated; #define current_function_name (cfun->name) #define current_function_pops_args (cfun->pops_args) #define current_function_returns_struct (cfun->returns_struct) #define current_function_returns_pcc_struct (cfun->returns_pcc_struct) #define current_function_returns_pointer (cfun->returns_pointer) #define current_function_needs_context (cfun->needs_context) #define current_function_calls_setjmp (cfun->calls_setjmp) #define current_function_calls_alloca (cfun->calls_alloca) #define current_function_calls_longjmp (cfun->calls_longjmp) #define current_function_calls_eh_return (cfun->calls_eh_return) #define current_function_has_computed_jump (cfun->has_computed_jump) #define current_function_contains_functions (cfun->contains_functions) #define current_function_is_thunk (cfun->is_thunk) #define current_function_args_info (cfun->args_info) #define current_function_args_size (cfun->args_size) #define current_function_pretend_args_size (cfun->pretend_args_size) #define current_function_outgoing_args_size (cfun->outgoing_args_size) #define current_function_arg_offset_rtx (cfun->arg_offset_rtx) #define current_function_varargs (cfun->varargs) #define current_function_stdarg (cfun->stdarg) #define current_function_internal_arg_pointer (cfun->internal_arg_pointer) #define current_function_return_rtx (cfun->return_rtx) #define current_function_instrument_entry_exit (cfun->instrument_entry_exit) #define current_function_profile (cfun->profile) #define current_function_profile_label_no (cfun->profile_label_no) #define current_function_limit_stack (cfun->limit_stack) #define current_function_uses_pic_offset_table (cfun->uses_pic_offset_table) #define current_function_uses_const_pool (cfun->uses_const_pool) #define current_function_cannot_inline (cfun->cannot_inline) #define current_function_epilogue_delay_list (cfun->epilogue_delay_list) #define current_function_has_nonlocal_label (cfun->has_nonlocal_label) #define current_function_has_nonlocal_goto (cfun->has_nonlocal_goto) #define max_parm_reg (cfun->x_max_parm_reg) #define parm_reg_stack_loc (cfun->x_parm_reg_stack_loc) #define cleanup_label (cfun->x_cleanup_label) #define return_label (cfun->x_return_label) #define save_expr_regs (cfun->x_save_expr_regs) #define stack_slot_list (cfun->x_stack_slot_list) #define parm_birth_insn (cfun->x_parm_birth_insn) #define frame_offset (cfun->x_frame_offset) #define tail_recursion_label (cfun->x_tail_recursion_label) #define tail_recursion_reentry (cfun->x_tail_recursion_reentry) #define arg_pointer_save_area (cfun->x_arg_pointer_save_area) #define rtl_expr_chain (cfun->x_rtl_expr_chain) #define last_parm_insn (cfun->x_last_parm_insn) #define context_display (cfun->x_context_display) #define trampoline_list (cfun->x_trampoline_list) #define function_call_count (cfun->x_function_call_count) #define temp_slots (cfun->x_temp_slots) #define temp_slot_level (cfun->x_temp_slot_level) #define target_temp_slot_level (cfun->x_target_temp_slot_level) #define var_temp_slot_level (cfun->x_var_temp_slot_level) #define nonlocal_labels (cfun->x_nonlocal_labels) #define nonlocal_goto_handler_slots (cfun->x_nonlocal_goto_handler_slots) #define nonlocal_goto_handler_labels (cfun->x_nonlocal_goto_handler_labels) #define nonlocal_goto_stack_level (cfun->x_nonlocal_goto_stack_level) extern tree inline_function_decl; struct function *find_function_data (tree); extern void identify_blocks (void); extern void reorder_blocks (void); extern void number_blocks (tree); extern long get_frame_size (void); extern long get_func_frame_size (struct function *); extern void (*init_machine_status) (struct function *); extern void (*free_machine_status) (struct function *); extern void (*mark_machine_status) (struct function *); extern void (*init_lang_status) (struct function *); extern void (*mark_lang_status) (struct function *); extern void (*save_lang_status) (struct function *); extern void (*restore_lang_status) (struct function *); extern void (*free_lang_status) (struct function *); extern void restore_emit_status (struct function *); extern void free_after_parsing (struct function *); extern void free_after_compilation (struct function *); extern void init_varasm_status (struct function *); extern void free_varasm_status (struct function *); extern void free_emit_status (struct function *); extern void free_stmt_status (struct function *); extern void free_eh_status (struct function *); extern void free_expr_status (struct function *); extern rtx get_first_block_beg (void); extern void diddle_return_value (void (*)(rtx, void*), void*); extern void clobber_return_register (void); extern void use_return_register (void); extern rtx get_arg_pointer_save_area (struct function *); extern void init_virtual_regs (struct emit_status *); extern void init_function_once (void); # 34 "regrename.c" 2 # 1 "recog.h" 1 # 23 "recog.h" #define MAX_RECOG_ALTERNATIVES 30 #define recog_memoized(I) (INSN_CODE (I) >= 0 ? INSN_CODE (I) : recog_memoized_1 (I)) enum op_type { OP_IN, OP_OUT, OP_INOUT }; struct operand_alternative { const char *constraint; enum reg_class class; unsigned int reject; int matches; int matched; unsigned int earlyclobber:1; unsigned int memory_ok:1; unsigned int offmem_ok:1; unsigned int nonoffmem_ok:1; unsigned int decmem_ok:1; unsigned int incmem_ok:1; unsigned int is_address:1; unsigned int anything_ok:1; }; extern void init_recog (void); extern void init_recog_no_volatile (void); extern int recog_memoized_1 (rtx); extern int check_asm_operands (rtx); extern int asm_operand_ok (rtx, const char *); extern int validate_change (rtx, rtx *, rtx, int); extern int insn_invalid_p (rtx); extern int apply_change_group (void); extern int num_validated_changes (void); extern void cancel_changes (int); extern int constrain_operands (int); extern int constrain_operands_cached (int); extern int memory_address_p (enum machine_mode, rtx); extern int strict_memory_address_p (enum machine_mode, rtx); extern int validate_replace_rtx_subexp (rtx, rtx, rtx, rtx *); extern int validate_replace_rtx (rtx, rtx, rtx); extern void validate_replace_rtx_group (rtx, rtx, rtx); extern int validate_replace_src (rtx, rtx, rtx); extern int reg_fits_class_p (rtx, enum reg_class, int, enum machine_mode) ; extern rtx *find_single_use (rtx, rtx, rtx *); extern int general_operand (rtx, enum machine_mode); extern int address_operand (rtx, enum machine_mode); extern int register_operand (rtx, enum machine_mode); extern int pmode_register_operand (rtx, enum machine_mode); extern int scratch_operand (rtx, enum machine_mode); extern int immediate_operand (rtx, enum machine_mode); extern int const_int_operand (rtx, enum machine_mode); extern int const_double_operand (rtx, enum machine_mode); extern int nonimmediate_operand (rtx, enum machine_mode); extern int nonmemory_operand (rtx, enum machine_mode); extern int push_operand (rtx, enum machine_mode); extern int pop_operand (rtx, enum machine_mode); extern int memory_operand (rtx, enum machine_mode); extern int indirect_operand (rtx, enum machine_mode); extern int mode_independent_operand (rtx, enum machine_mode); extern int comparison_operator (rtx, enum machine_mode); extern int offsettable_memref_p (rtx); extern int offsettable_nonstrict_memref_p (rtx); extern int offsettable_address_p (int, enum machine_mode, rtx); extern int mode_dependent_address_p (rtx); extern int recog (rtx, rtx, int *); extern void add_clobbers (rtx, int); extern int added_clobbers_hard_reg_p (int); extern void insn_extract (rtx); extern void extract_insn (rtx); extern void extract_constrain_insn_cached (rtx); extern void extract_insn_cached (rtx); extern void preprocess_constraints (void); extern rtx peep2_next_insn (int); extern int peep2_regno_dead_p (int, int); extern int peep2_reg_dead_p (int, rtx); extern rtx peep2_find_free_register (int, int, const char *, enum machine_mode, HARD_REG_ELT_TYPE *) ; extern void peephole2_optimize (FILE *); extern rtx peephole2_insns (rtx, rtx, int *); extern int volatile_ok; extern int which_alternative; struct recog_data { rtx operand[30]; rtx *operand_loc[30]; const char *constraints[30]; enum machine_mode operand_mode[30]; enum op_type operand_type[30]; rtx *dup_loc[4]; char dup_num[4]; # 191 "recog.h" char n_operands; char n_dups; char n_alternatives; rtx insn; }; extern struct recog_data recog_data; extern struct operand_alternative recog_op_alt[30][30]; typedef int (*insn_operand_predicate_fn) (rtx, enum machine_mode); typedef const char * (*insn_output_fn) (rtx *, rtx); typedef rtx (*insn_gen_fn) (rtx, ...); struct insn_operand_data { const insn_operand_predicate_fn predicate; const char *const constraint; const unsigned int mode : 16; const char strict_low; const char eliminable; }; #define INSN_OUTPUT_FORMAT_NONE 0 #define INSN_OUTPUT_FORMAT_SINGLE 1 #define INSN_OUTPUT_FORMAT_MULTI 2 #define INSN_OUTPUT_FORMAT_FUNCTION 3 struct insn_data { const char *const name; const void * output; const insn_gen_fn genfun; const struct insn_operand_data *const operand; const char n_operands; const char n_dups; const char n_alternatives; const char output_format; }; extern const struct insn_data insn_data[]; # 35 "regrename.c" 2 # 1 "flags.h" 1 # 23 "flags.h" #define GCC_FLAGS_H extern const char *main_input_filename; enum debug_info_type { NO_DEBUG, DBX_DEBUG, SDB_DEBUG, DWARF_DEBUG, DWARF2_DEBUG, XCOFF_DEBUG, VMS_DEBUG, VMS_AND_DWARF2_DEBUG }; extern enum debug_info_type write_symbols; enum debug_info_level { DINFO_LEVEL_NONE, DINFO_LEVEL_TERSE, DINFO_LEVEL_NORMAL, DINFO_LEVEL_VERBOSE }; extern enum debug_info_level debug_info_level; extern int use_gnu_debug_info_extensions; extern int optimize; extern int optimize_size; extern int quiet_flag; extern int time_report; extern int mem_report; extern int inhibit_warnings; extern int warn_system_headers; extern int extra_warnings; extern void set_Wunused (int setting); extern int warn_unused_function; extern int warn_unused_label; extern int warn_unused_parameter; extern int warn_unused_variable; extern int warn_unused_value; extern int warn_notreached; extern int warn_inline; extern int warn_uninitialized; extern int warn_unknown_pragmas; extern int warn_shadow; extern int warn_switch; extern int warn_return_type; extern int warn_missing_noreturn; extern int warn_cast_align; extern int warn_larger_than; extern long larger_than_size; extern int warn_aggregate_return; extern int warn_packed; extern int warn_padded; extern int warn_disabled_optimization; extern int warn_deprecated_decl; extern int profile_flag; extern int profile_arc_flag; extern int flag_test_coverage; extern int flag_branch_probabilities; extern int flag_reorder_blocks; extern int flag_rename_registers; extern int pedantic; extern int in_system_header; extern int flag_print_asm_name; extern int flag_signed_char; extern int flag_short_enums; extern int flag_caller_saves; extern int flag_pcc_struct_return; extern int flag_force_mem; extern int flag_force_addr; extern int flag_defer_pop; extern int flag_float_store; extern int flag_strength_reduce; extern int flag_unroll_loops; extern int flag_unroll_all_loops; extern int flag_move_all_movables; extern int flag_prefetch_loop_arrays; extern int flag_reduce_all_givs; extern int flag_cse_follow_jumps; extern int flag_cse_skip_blocks; extern int flag_expensive_optimizations; extern int flag_writable_strings; extern int flag_no_function_cse; extern int flag_omit_frame_pointer; extern int flag_no_peephole; extern int flag_volatile; extern int flag_volatile_global; extern int flag_volatile_static; extern int flag_optimize_sibling_calls; extern int flag_errno_math; extern int flag_unsafe_math_optimizations; extern int flag_trapping_math; extern int flag_complex_divide_method; extern int flag_rerun_loop_opt; extern int flag_inline_functions; extern int flag_keep_inline_functions; extern int flag_no_inline; extern int flag_really_no_inline; extern int flag_syntax_only; extern int flag_gen_aux_info; extern int flag_shared_data; extern int flag_schedule_insns; extern int flag_schedule_insns_after_reload; # 418 "flags.h" extern int flag_schedule_interblock; extern int flag_schedule_speculative; extern int flag_schedule_speculative_load; extern int flag_schedule_speculative_load_dangerous; extern int flag_branch_on_count_reg; extern int flag_single_precision_constant; extern int flag_delayed_branch; extern int flag_dump_unnumbered; extern int flag_pretend_float; extern int flag_pedantic_errors; extern int flag_pic; extern int flag_exceptions; extern int flag_unwind_tables; extern int flag_asynchronous_unwind_tables; extern int flag_no_common; extern int flag_inhibit_size_directive; extern int flag_function_sections; extern int flag_data_sections; # 498 "flags.h" extern int flag_verbose_asm; # 507 "flags.h" extern int flag_debug_asm; extern int flag_dump_rtl_in_asm; extern int flag_gnu_linker; extern int flag_pack_struct; # 525 "flags.h" extern int flag_argument_noalias; extern int flag_strict_aliasing; extern int flag_stack_check; extern int flag_regmove; extern int flag_instrument_function_entry_exit; extern int flag_peephole2; extern int flag_guess_branch_prob; extern int flag_bounded_pointers; extern int flag_bounds_check; extern int flag_merge_constants; extern int flag_renumber_insns; extern int frame_pointer_needed; extern int flag_trapv; extern int g_switch_value; extern int g_switch_set; extern int align_loops; extern int align_loops_log; extern int align_loops_max_skip; extern int align_jumps; extern int align_jumps_log; extern int align_jumps_max_skip; extern int align_labels; extern int align_labels_log; extern int align_labels_max_skip; extern int align_functions; extern int align_functions_log; extern int dump_for_graph; enum graph_dump_types { no_graph = 0, vcg }; extern enum graph_dump_types graph_dump_format; extern int flag_no_ident; extern int flag_gcse_lm; extern int flag_gcse_sm; extern int flag_eliminate_dwarf2_dups; extern int flag_detailed_statistics; extern int flag_non_call_exceptions; # 36 "regrename.c" 2 # 1 "toplev.h" 1 # 22 "toplev.h" #define GCC_TOPLEV_H #define skip_leading_substring(whole,part) (strncmp (whole, part, strlen (part)) ? NULL : whole + strlen (part)) extern int toplev_main (int, char **); extern int read_integral_parameter (const char *, const char *, const int) ; extern int count_error (int); extern void strip_off_ending (char *, int); extern void print_time (const char *, long); extern const char *trim_filename (const char *); extern void internal_error (const char *, ...) __attribute__ ((__noreturn__)); extern void fatal_io_error (const char *, ...) __attribute__ ((__noreturn__)); extern void _fatal_insn_not_found (struct rtx_def *, const char *, int, const char *) __attribute__ ((__noreturn__)); extern void _fatal_insn (const char *, struct rtx_def *, const char *, int, const char *) __attribute__ ((__noreturn__)); #define fatal_insn(msgid,insn) _fatal_insn (msgid, insn, __FILE__, __LINE__, __FUNCTION__) #define fatal_insn_not_found(insn) _fatal_insn_not_found (insn, __FILE__, __LINE__, __FUNCTION__) extern void warning (const char *, ...); extern void error (const char *, ...); extern void fatal_error (const char *, ...) __attribute__ ((__noreturn__)); extern void pedwarn (const char *, ...); extern void pedwarn_with_file_and_line (const char *, int, const char *, ...) ; extern void warning_with_file_and_line (const char *, int, const char *, ...) ; extern void error_with_file_and_line (const char *, int, const char *, ...) ; extern void sorry (const char *, ...); extern void report_error_function (const char *); extern void rest_of_decl_compilation (union tree_node *, const char *, int, int) ; extern void rest_of_type_compilation (union tree_node *, int); extern void rest_of_compilation (union tree_node *); extern void pedwarn_with_decl (union tree_node *, const char *, ...) ; extern void warning_with_decl (union tree_node *, const char *, ...) ; extern void error_with_decl (union tree_node *, const char *, ...) ; extern void announce_function (union tree_node *); extern void error_for_asm (struct rtx_def *, const char *, ...) ; extern void warning_for_asm (struct rtx_def *, const char *, ...) ; extern void warn_deprecated_use (union tree_node *); extern int do_float_handler (void (*) (void *), void *); extern void output_quoted_string (FILE *, const char *); extern void output_file_directive (FILE *, const char *); extern void do_abort (void) __attribute__ ((__noreturn__)); extern void botch (const char *) __attribute__ ((__noreturn__)); extern void fnotice (FILE *, const char *, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int wrapup_global_declarations (union tree_node **, int); extern void check_global_declarations (union tree_node **, int); extern const char *progname; extern const char *dump_base_name; extern struct ht *ident_hash; extern void set_fast_math_flags (void); extern void set_no_fast_math_flags (void); #define exact_log2(N) exact_log2_wide ((unsigned HOST_WIDE_INT) (N)) #define floor_log2(N) floor_log2_wide ((unsigned HOST_WIDE_INT) (N)) extern int exact_log2_wide (unsigned long); extern int floor_log2_wide (unsigned long); # 37 "regrename.c" 2 # 1 "obstack.h" 1 # 111 "obstack.h" #define _OBSTACK_H 1 # 122 "obstack.h" #define __PTR_TO_INT(P) ((P) - (char *) 0) #define __INT_TO_PTR(P) ((P) + (char *) 0) # 136 "obstack.h" #define PTR_INT_TYPE __PTRDIFF_TYPE__ # 149 "obstack.h" #define _obstack_memcpy(To,From,N) memcpy ((To), (From), (N)) # 161 "obstack.h" struct _obstack_chunk { char *limit; struct _obstack_chunk *prev; char contents[4]; }; struct obstack { long chunk_size; struct _obstack_chunk *chunk; char *object_base; char *next_free; char *chunk_limit; long int temp; int alignment_mask; struct _obstack_chunk *(*chunkfun) (void *, long); void (*freefun) (void *, struct _obstack_chunk *); void *extra_arg; unsigned use_extra_arg:1; unsigned maybe_empty_object:1; unsigned alloc_failed:1; }; extern void _obstack_newchunk (struct obstack *, int); extern void _obstack_free (struct obstack *, void *); extern int _obstack_begin (struct obstack *, int, int, void *(*) (long), void (*) (void *)); extern int _obstack_begin_1 (struct obstack *, int, int, void *(*) (void *, long), void (*) (void *, void *), void *); extern int _obstack_memory_used (struct obstack *); # 223 "obstack.h" void obstack_init (struct obstack *obstack); void * obstack_alloc (struct obstack *obstack, int size); void * obstack_copy (struct obstack *obstack, void *address, int size); void * obstack_copy0 (struct obstack *obstack, void *address, int size); void obstack_free (struct obstack *obstack, void *block); void obstack_blank (struct obstack *obstack, int size); void obstack_grow (struct obstack *obstack, void *data, int size); void obstack_grow0 (struct obstack *obstack, void *data, int size); void obstack_1grow (struct obstack *obstack, int data_char); void obstack_ptr_grow (struct obstack *obstack, void *data); void obstack_int_grow (struct obstack *obstack, int data); void * obstack_finish (struct obstack *obstack); int obstack_object_size (struct obstack *obstack); int obstack_room (struct obstack *obstack); void obstack_make_room (struct obstack *obstack, int size); void obstack_1grow_fast (struct obstack *obstack, int data_char); void obstack_ptr_grow_fast (struct obstack *obstack, void *data); void obstack_int_grow_fast (struct obstack *obstack, int data); void obstack_blank_fast (struct obstack *obstack, int size); void * obstack_base (struct obstack *obstack); void * obstack_next_free (struct obstack *obstack); int obstack_alignment_mask (struct obstack *obstack); int obstack_chunk_size (struct obstack *obstack); int obstack_memory_used (struct obstack *obstack); # 267 "obstack.h" extern void (*obstack_alloc_failed_handler) (void); extern int obstack_exit_failure; #define obstack_base(h) ((h)->object_base) #define obstack_chunk_size(h) ((h)->chunk_size) #define obstack_next_free(h) ((h)->next_free) #define obstack_alignment_mask(h) ((h)->alignment_mask) #define obstack_init(h) _obstack_begin ((h), 0, 0, (void *(*) (long)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free) #define obstack_begin(h,size) _obstack_begin ((h), (size), 0, (void *(*) (long)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free) #define obstack_specify_allocation(h,size,alignment,chunkfun,freefun) _obstack_begin ((h), (size), (alignment), (void *(*) (long)) (chunkfun), (void (*) (void *)) (freefun)) #define obstack_specify_allocation_with_arg(h,size,alignment,chunkfun,freefun,arg) _obstack_begin_1 ((h), (size), (alignment), (void *(*) (void *, long)) (chunkfun), (void (*) (void *, void *)) (freefun), (arg)) #define obstack_chunkfun(h,newchunkfun) ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun)) #define obstack_freefun(h,newfreefun) ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun)) # 346 "obstack.h" #define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = achar) #define obstack_blank_fast(h,n) ((h)->next_free += (n)) #define obstack_memory_used(h) _obstack_memory_used (h) # 365 "obstack.h" #define obstack_object_size(OBSTACK) __extension__ ({ struct obstack *__o = (OBSTACK); (unsigned) (__o->next_free - __o->object_base); }) #define obstack_room(OBSTACK) __extension__ ({ struct obstack *__o = (OBSTACK); (unsigned) (__o->chunk_limit - __o->next_free); }) #define obstack_make_room(OBSTACK,length) __extension__ ({ struct obstack *__o = (OBSTACK); int __len = (length); if (__o->chunk_limit - __o->next_free < __len) _obstack_newchunk (__o, __len); (void) 0; }) #define obstack_empty_p(OBSTACK) __extension__ ({ struct obstack *__o = (OBSTACK); (__o->chunk->prev == 0 && __o->next_free - __o->chunk->contents == 0); }) #define obstack_grow(OBSTACK,where,length) __extension__ ({ struct obstack *__o = (OBSTACK); int __len = (length); if (__o->next_free + __len > __o->chunk_limit) _obstack_newchunk (__o, __len); _obstack_memcpy (__o->next_free, (where), __len); __o->next_free += __len; (void) 0; }) # 398 "obstack.h" #define obstack_grow0(OBSTACK,where,length) __extension__ ({ struct obstack *__o = (OBSTACK); int __len = (length); if (__o->next_free + __len + 1 > __o->chunk_limit) _obstack_newchunk (__o, __len + 1); _obstack_memcpy (__o->next_free, (where), __len); __o->next_free += __len; *(__o->next_free)++ = 0; (void) 0; }) # 409 "obstack.h" #define obstack_1grow(OBSTACK,datum) __extension__ ({ struct obstack *__o = (OBSTACK); if (__o->next_free + 1 > __o->chunk_limit) _obstack_newchunk (__o, 1); *(__o->next_free)++ = (datum); (void) 0; }) # 421 "obstack.h" #define obstack_ptr_grow(OBSTACK,datum) __extension__ ({ struct obstack *__o = (OBSTACK); if (__o->next_free + sizeof (void *) > __o->chunk_limit) _obstack_newchunk (__o, sizeof (void *)); ((*((void **)__o->next_free) = ((void *)datum)), (__o->next_free += sizeof (void *))); (void) 0; }) # 430 "obstack.h" #define obstack_int_grow(OBSTACK,datum) __extension__ ({ struct obstack *__o = (OBSTACK); if (__o->next_free + sizeof (int) > __o->chunk_limit) _obstack_newchunk (__o, sizeof (int)); *((int *)__o->next_free)++ = ((int)datum); (void) 0; }) #define obstack_ptr_grow_fast(h,aptr) (*((void **) (h)->next_free)++ = (void *)aptr) #define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint) #define obstack_blank(OBSTACK,length) __extension__ ({ struct obstack *__o = (OBSTACK); int __len = (length); if (__o->chunk_limit - __o->next_free < __len) _obstack_newchunk (__o, __len); __o->next_free += __len; (void) 0; }) # 450 "obstack.h" #define obstack_alloc(OBSTACK,length) __extension__ ({ struct obstack *__h = (OBSTACK); obstack_blank (__h, (length)); obstack_finish (__h); }) #define obstack_copy(OBSTACK,where,length) __extension__ ({ struct obstack *__h = (OBSTACK); obstack_grow (__h, (where), (length)); obstack_finish (__h); }) #define obstack_copy0(OBSTACK,where,length) __extension__ ({ struct obstack *__h = (OBSTACK); obstack_grow0 (__h, (where), (length)); obstack_finish (__h); }) #define obstack_finish(OBSTACK) __extension__ ({ struct obstack *__o1 = (OBSTACK); void *value; value = (void *) __o1->object_base; if (__o1->next_free == value) __o1->maybe_empty_object = 1; __o1->next_free = __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_mask) & ~ (__o1->alignment_mask)); if (__o1->next_free - (char *)__o1->chunk > __o1->chunk_limit - (char *)__o1->chunk) __o1->next_free = __o1->chunk_limit; __o1->object_base = __o1->next_free; value; }) # 486 "obstack.h" #define obstack_free(OBSTACK,OBJ) __extension__ ({ struct obstack *__o = (OBSTACK); void *__obj = (OBJ); if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) __o->next_free = __o->object_base = __obj; else (obstack_free) (__o, __obj); }) # 38 "regrename.c" 2 #define obstack_chunk_alloc xmalloc #define obstack_chunk_free free #define REGNO_MODE_OK_FOR_BASE_P(REGNO,MODE) REGNO_OK_FOR_BASE_P (REGNO) #define REG_MODE_OK_FOR_BASE_P(REGNO,MODE) REG_OK_FOR_BASE_P (REGNO) static const char *const reg_class_names[] = { "NO_REGS", "AREG", "DREG", "CREG", "BREG", "SIREG", "DIREG", "AD_REGS", "Q_REGS", "NON_Q_REGS", "INDEX_REGS", "LEGACY_REGS", "GENERAL_REGS", "FP_TOP_REG", "FP_SECOND_REG", "FLOAT_REGS", "SSE_REGS", "MMX_REGS", "FP_TOP_SSE_REGS", "FP_SECOND_SSE_REGS", "FLOAT_SSE_REGS", "FLOAT_INT_REGS", "INT_SSE_REGS", "FLOAT_INT_SSE_REGS", "ALL_REGS" }; struct du_chain { struct du_chain *next_chain; struct du_chain *next_use; rtx insn; rtx *loc; enum reg_class class; unsigned int need_caller_save_reg:1; unsigned int earlyclobber:1; }; enum scan_actions { terminate_all_read, terminate_overlapping_read, terminate_write, terminate_dead, mark_read, mark_write }; static const char * const scan_actions_name[] = { "terminate_all_read", "terminate_overlapping_read", "terminate_write", "terminate_dead", "mark_read", "mark_write" }; static struct obstack rename_obstack; static void do_replace (struct du_chain *, int); static void scan_rtx_reg (rtx, rtx *, enum reg_class, enum scan_actions, enum op_type, int) ; static void scan_rtx_address (rtx, rtx *, enum reg_class, enum scan_actions, enum machine_mode) ; static void scan_rtx (rtx, rtx *, enum reg_class, enum scan_actions, enum op_type, int) ; static struct du_chain *build_def_use (basic_block); static void dump_def_use_chain (struct du_chain *); static void note_sets (rtx, rtx, void *); static void clear_dead_regs (HARD_REG_ELT_TYPE *, enum machine_mode, rtx); static void merge_overlapping_regs (basic_block, HARD_REG_ELT_TYPE *, struct du_chain *) ; static void note_sets (x, set, data) rtx x; rtx set __attribute__ ((__unused__)); void *data; { HARD_REG_ELT_TYPE *pset = (HARD_REG_ELT_TYPE *) data; unsigned int regno; int nregs; if (((enum rtx_code) (x)->code) != REG) return; regno = (((x)->fld[0]).rtuint); nregs = (((regno) >= 8 && (regno) <= (8 + 7)) || (((regno) >= (20 + 1) && (regno) <= ((20 + 1) + 7)) || ((regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((regno) >= (((20 + 1) + 7) + 1) && (regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((enum machine_mode) (x)->mode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((enum machine_mode) (x)->mode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((enum machine_mode) (x)->mode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((enum machine_mode) (x)->mode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((enum machine_mode) (x)->mode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); if (regno + nregs > 53) fancy_abort ("regrename.c", 119, __FUNCTION__); while (nregs-- > 0) ((*pset) |= ((HARD_REG_ELT_TYPE) (1)) << (regno + nregs)); } static void clear_dead_regs (pset, kind, notes) HARD_REG_ELT_TYPE *pset; enum machine_mode kind; rtx notes; { rtx note; for (note = notes; note; note = (((note)->fld[1]).rtx)) if (((enum reg_note) ((enum machine_mode) (note)->mode)) == kind && (((enum rtx_code) ((((note)->fld[0]).rtx))->code) == REG)) { rtx reg = (((note)->fld[0]).rtx); unsigned int regno = (((reg)->fld[0]).rtuint); int nregs = (((regno) >= 8 && (regno) <= (8 + 7)) || (((regno) >= (20 + 1) && (regno) <= ((20 + 1) + 7)) || ((regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((regno) >= (((20 + 1) + 7) + 1) && (regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((enum machine_mode) (reg)->mode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((enum machine_mode) (reg)->mode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((enum machine_mode) (reg)->mode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((enum machine_mode) (reg)->mode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((enum machine_mode) (reg)->mode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); if (regno + nregs > 53) fancy_abort ("regrename.c", 144, __FUNCTION__); while (nregs-- > 0) ((*pset) &= ~(((HARD_REG_ELT_TYPE) (1)) << (regno + nregs))); } } static void merge_overlapping_regs (b, pset, chain) basic_block b; HARD_REG_ELT_TYPE *pset; struct du_chain *chain; { struct du_chain *t = chain; rtx insn; HARD_REG_ELT_TYPE live; do { ((live) = ((HARD_REG_ELT_TYPE) (0))); reg_set_to_hard_reg_set (&live, b->global_live_at_start); } while (0); insn = b->head; while (t) { while (insn != t->insn) { if (((rtx_class[(int) (((enum rtx_code) (insn)->code))]) == 'i')) { clear_dead_regs (&live, REG_DEAD, (((insn)->fld[6]).rtx)); note_stores ((((insn)->fld[3]).rtx), note_sets, (void *) &live); if (t != chain) ((*pset) |= (live)); clear_dead_regs (&live, REG_UNUSED, (((insn)->fld[6]).rtx)); } insn = (((insn)->fld[2]).rtx); } ((*pset) |= (live)); if (! t->next_use) note_stores ((((insn)->fld[3]).rtx), note_sets, (void *) pset); t = t->next_use; } } void regrename_optimize () { int tick[53]; int this_tick = 0; int b; char *first_obj; memset (tick, 0, sizeof tick); gcc_obstack_init (&rename_obstack); first_obj = (char *) __extension__ ({ struct obstack *__h = (&rename_obstack); __extension__ ({ struct obstack *__o = (__h); int __len = ((0)); if (__o->chunk_limit - __o->next_free < __len) _obstack_newchunk (__o, __len); __o->next_free += __len; (void) 0; }); __extension__ ({ struct obstack *__o1 = (__h); void *value; value = (void *) __o1->object_base; if (__o1->next_free == value) __o1->maybe_empty_object = 1; __o1->next_free = (((((__o1->next_free) - (char *) 0)+__o1->alignment_mask) & ~ (__o1->alignment_mask)) + (char *) 0); if (__o1->next_free - (char *)__o1->chunk > __o1->chunk_limit - (char *)__o1->chunk) __o1->next_free = __o1->chunk_limit; __o1->object_base = __o1->next_free; value; }); }); for (b = 0; b < n_basic_blocks; b++) { basic_block bb = (((basic_block_info)->data.bb[(b)])); struct du_chain *all_chains = 0; HARD_REG_ELT_TYPE unavailable; HARD_REG_ELT_TYPE regs_seen; ((unavailable) = ((HARD_REG_ELT_TYPE) (0))); if (rtl_dump_file) fprintf (rtl_dump_file, "\nBasic block %d:\n", b); all_chains = build_def_use (bb); if (rtl_dump_file) dump_def_use_chain (all_chains); ((unavailable) = ((HARD_REG_ELT_TYPE) (0))); if (frame_pointer_needed) { int i; for (i = (((20) >= 8 && (20) <= (8 + 7)) || (((20) >= (20 + 1) && (20) <= ((20 + 1) + 7)) || ((20) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (20) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((20) >= (((20 + 1) + 7) + 1) && (20) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((target_flags & 0x02000000) ? DImode : SImode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((target_flags & 0x02000000) ? DImode : SImode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((target_flags & 0x02000000) ? DImode : SImode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((target_flags & 0x02000000) ? DImode : SImode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((target_flags & 0x02000000) ? DImode : SImode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); i--;) ((unavailable) |= ((HARD_REG_ELT_TYPE) (1)) << (20 + i)); for (i = (((6) >= 8 && (6) <= (8 + 7)) || (((6) >= (20 + 1) && (6) <= ((20 + 1) + 7)) || ((6) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (6) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((6) >= (((20 + 1) + 7) + 1) && (6) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((target_flags & 0x02000000) ? DImode : SImode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((target_flags & 0x02000000) ? DImode : SImode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((target_flags & 0x02000000) ? DImode : SImode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((target_flags & 0x02000000) ? DImode : SImode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((target_flags & 0x02000000) ? DImode : SImode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); i--;) ((unavailable) |= ((HARD_REG_ELT_TYPE) (1)) << (6 + i)); } ((regs_seen) = ((HARD_REG_ELT_TYPE) (0))); while (all_chains) { int new_reg, best_new_reg = -1; int n_uses; struct du_chain *this = all_chains; struct du_chain *tmp, *last; HARD_REG_ELT_TYPE this_unavailable; int reg = (((*this->loc)->fld[0]).rtuint); int i; all_chains = this->next_chain; # 266 "regrename.c" if (fixed_regs[reg] || global_regs[reg] || (frame_pointer_needed && reg == 6) ) continue; ((this_unavailable) = (unavailable)); n_uses = 0; for (last = this; last->next_use; last = last->next_use) { n_uses++; ((this_unavailable) |= ~ (reg_class_contents[last->class])) ; } if (n_uses < 1) continue; ((this_unavailable) |= ~ (reg_class_contents[last->class])) ; if (this->need_caller_save_reg) ((this_unavailable) |= (call_used_reg_set)); merge_overlapping_regs (bb, &this_unavailable, this); for (new_reg = 0; new_reg < 53; new_reg++) { int nregs = (((new_reg) >= 8 && (new_reg) <= (8 + 7)) || (((new_reg) >= (20 + 1) && (new_reg) <= ((20 + 1) + 7)) || ((new_reg) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (new_reg) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((new_reg) >= (((20 + 1) + 7) + 1) && (new_reg) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((enum machine_mode) (*this->loc)->mode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((enum machine_mode) (*this->loc)->mode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((enum machine_mode) (*this->loc)->mode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((enum machine_mode) (*this->loc)->mode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((enum machine_mode) (*this->loc)->mode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); for (i = nregs - 1; i >= 0; --i) if (((this_unavailable) & (((HARD_REG_ELT_TYPE) (1)) << (new_reg + i))) || fixed_regs[new_reg + i] || global_regs[new_reg + i] || (! regs_ever_live[new_reg + i] && ! call_used_regs[new_reg + i]) || ! ((reg + i) < 8 || (reg + i) > (8 + 7)) ) break; if (i >= 0) continue; for (tmp = this; tmp; tmp = tmp->next_use) if (! ix86_hard_regno_mode_ok ((new_reg), (((enum machine_mode) (*tmp->loc)->mode))) || (tmp->need_caller_save_reg && ! (0 ) && (0 ))) break; if (! tmp) { if (best_new_reg == -1 || tick[best_new_reg] > tick[new_reg]) best_new_reg = new_reg; } } if (rtl_dump_file) { fprintf (rtl_dump_file, "Register %s in insn %d", reg_names[reg], (((last->insn)->fld[0]).rtint)); if (last->need_caller_save_reg) fprintf (rtl_dump_file, " crosses a call"); } if (best_new_reg == -1) { if (rtl_dump_file) fprintf (rtl_dump_file, "; no available registers\n"); continue; } do_replace (this, best_new_reg); tick[best_new_reg] = this_tick++; if (rtl_dump_file) fprintf (rtl_dump_file, ", renamed as %s\n", reg_names[best_new_reg]); } __extension__ ({ struct obstack *__o = (&rename_obstack); void *__obj = (first_obj); if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) __o->next_free = __o->object_base = __obj; else (obstack_free) (__o, __obj); }); } __extension__ ({ struct obstack *__o = (&rename_obstack); void *__obj = ( # 368 "regrename.c" 3 4 ((void *)0) # 368 "regrename.c" ); if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) __o->next_free = __o->object_base = __obj; else (obstack_free) (__o, __obj); }); if (rtl_dump_file) fputc ('\n', rtl_dump_file); count_or_remove_death_notes ( # 373 "regrename.c" 3 4 ((void *)0) # 373 "regrename.c" , 1); update_life_info ( # 374 "regrename.c" 3 4 ((void *)0) # 374 "regrename.c" , UPDATE_LIFE_LOCAL, 4 | 1); } static void do_replace (chain, reg) struct du_chain *chain; int reg; { while (chain) { unsigned int regno = (((*chain->loc)->fld[1]).rtuint); *chain->loc = gen_raw_REG (((enum machine_mode) (*chain->loc)->mode), reg); if (regno >= 53) (((*chain->loc)->fld[1]).rtuint) = regno; chain = chain->next_use; } } static struct du_chain *open_chains; static struct du_chain *closed_chains; static void scan_rtx_reg (insn, loc, class, action, type, earlyclobber) rtx insn; rtx *loc; enum reg_class class; enum scan_actions action; enum op_type type; int earlyclobber; { struct du_chain **p; rtx x = *loc; enum machine_mode mode = ((enum machine_mode) (x)->mode); int this_regno = (((x)->fld[0]).rtuint); int this_nregs = (((this_regno) >= 8 && (this_regno) <= (8 + 7)) || (((this_regno) >= (20 + 1) && (this_regno) <= ((20 + 1) + 7)) || ((this_regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (this_regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((this_regno) >= (((20 + 1) + 7) + 1) && (this_regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (mode)]) == MODE_COMPLEX_INT || (mode_class[(int) (mode)]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((mode) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (mode) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (mode)]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); if (action == mark_write) { if (type == OP_OUT) { struct du_chain *this = (struct du_chain *) __extension__ ({ struct obstack *__h = (&rename_obstack); __extension__ ({ struct obstack *__o = (__h); int __len = ((sizeof (struct du_chain))); if (__o->chunk_limit - __o->next_free < __len) _obstack_newchunk (__o, __len); __o->next_free += __len; (void) 0; }); __extension__ ({ struct obstack *__o1 = (__h); void *value; value = (void *) __o1->object_base; if (__o1->next_free == value) __o1->maybe_empty_object = 1; __o1->next_free = (((((__o1->next_free) - (char *) 0)+__o1->alignment_mask) & ~ (__o1->alignment_mask)) + (char *) 0); if (__o1->next_free - (char *)__o1->chunk > __o1->chunk_limit - (char *)__o1->chunk) __o1->next_free = __o1->chunk_limit; __o1->object_base = __o1->next_free; value; }); }); this->next_use = 0; this->next_chain = open_chains; this->loc = loc; this->insn = insn; this->class = class; this->need_caller_save_reg = 0; this->earlyclobber = earlyclobber; open_chains = this; } return; } if ((type == OP_OUT && action != terminate_write) || (type != OP_OUT && action == terminate_write)) return; for (p = &open_chains; *p;) { struct du_chain *this = *p; # 445 "regrename.c" if (*this->loc == (global_rtl[GR_CC0])) p = &this->next_chain; else { int regno = (((*this->loc)->fld[0]).rtuint); int nregs = (((regno) >= 8 && (regno) <= (8 + 7)) || (((regno) >= (20 + 1) && (regno) <= ((20 + 1) + 7)) || ((regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((regno) >= (((20 + 1) + 7) + 1) && (regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((enum machine_mode) (*this->loc)->mode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((enum machine_mode) (*this->loc)->mode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((enum machine_mode) (*this->loc)->mode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((enum machine_mode) (*this->loc)->mode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((enum machine_mode) (*this->loc)->mode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); int exact_match = (regno == this_regno && nregs == this_nregs); if (regno + nregs <= this_regno || this_regno + this_nregs <= regno) { p = &this->next_chain; continue; } if (action == mark_read) { if (! exact_match) fancy_abort ("regrename.c", 463, __FUNCTION__); if (class != NO_REGS) { this = (struct du_chain *) __extension__ ({ struct obstack *__h = (&rename_obstack); __extension__ ({ struct obstack *__o = (__h); int __len = ((sizeof (struct du_chain))); if (__o->chunk_limit - __o->next_free < __len) _obstack_newchunk (__o, __len); __o->next_free += __len; (void) 0; }); __extension__ ({ struct obstack *__o1 = (__h); void *value; value = (void *) __o1->object_base; if (__o1->next_free == value) __o1->maybe_empty_object = 1; __o1->next_free = (((((__o1->next_free) - (char *) 0)+__o1->alignment_mask) & ~ (__o1->alignment_mask)) + (char *) 0); if (__o1->next_free - (char *)__o1->chunk > __o1->chunk_limit - (char *)__o1->chunk) __o1->next_free = __o1->chunk_limit; __o1->object_base = __o1->next_free; value; }); }); this->next_use = 0; this->next_chain = (*p)->next_chain; this->loc = loc; this->insn = insn; this->class = class; this->need_caller_save_reg = 0; while (*p) p = &(*p)->next_use; *p = this; return; } } if (action != terminate_overlapping_read || ! exact_match) { struct du_chain *next = this->next_chain; if ((action == terminate_dead || action == terminate_write) && exact_match) { this->next_chain = closed_chains; closed_chains = this; if (rtl_dump_file) fprintf (rtl_dump_file, "Closing chain %s at insn %d (%s)\n", reg_names[(((*this->loc)->fld[0]).rtuint)], (((insn)->fld[0]).rtint), scan_actions_name[(int) action]); } else { if (rtl_dump_file) fprintf (rtl_dump_file, "Discarding chain %s at insn %d (%s)\n", reg_names[(((*this->loc)->fld[0]).rtuint)], (((insn)->fld[0]).rtint), scan_actions_name[(int) action]); } *p = next; } else p = &this->next_chain; } } } static void scan_rtx_address (insn, loc, class, action, mode) rtx insn; rtx *loc; enum reg_class class; enum scan_actions action; enum machine_mode mode; { rtx x = *loc; enum rtx_code code = ((enum rtx_code) (x)->code); const char *fmt; int i, j; if (action == mark_write) return; switch (code) { case PLUS: { rtx orig_op0 = (((x)->fld[0]).rtx); rtx orig_op1 = (((x)->fld[1]).rtx); enum rtx_code code0 = ((enum rtx_code) (orig_op0)->code); enum rtx_code code1 = ((enum rtx_code) (orig_op1)->code); rtx op0 = orig_op0; rtx op1 = orig_op1; rtx *locI = # 550 "regrename.c" 3 4 ((void *)0) # 550 "regrename.c" ; rtx *locB = # 551 "regrename.c" 3 4 ((void *)0) # 551 "regrename.c" ; if (((enum rtx_code) (op0)->code) == SUBREG) { op0 = (((op0)->fld[0]).rtx); code0 = ((enum rtx_code) (op0)->code); } if (((enum rtx_code) (op1)->code) == SUBREG) { op1 = (((op1)->fld[0]).rtx); code1 = ((enum rtx_code) (op1)->code); } if (code0 == MULT || code0 == SIGN_EXTEND || code0 == TRUNCATE || code0 == ZERO_EXTEND || code1 == MEM) { locI = &(((x)->fld[0]).rtx); locB = &(((x)->fld[1]).rtx); } else if (code1 == MULT || code1 == SIGN_EXTEND || code1 == TRUNCATE || code1 == ZERO_EXTEND || code0 == MEM) { locI = &(((x)->fld[1]).rtx); locB = &(((x)->fld[0]).rtx); } else if (code0 == CONST_INT || code0 == CONST || code0 == SYMBOL_REF || code0 == LABEL_REF) locB = &(((x)->fld[1]).rtx); else if (code1 == CONST_INT || code1 == CONST || code1 == SYMBOL_REF || code1 == LABEL_REF) locB = &(((x)->fld[0]).rtx); else if (code0 == REG && code1 == REG) { int index_op; if ((((((op0)->fld[0]).rtuint)) < 7 || ((((op0)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op0)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] < 7) && (((((op1)->fld[0]).rtuint)) <= 7 || ((((op1)->fld[0]).rtuint)) == 16 || ((((op1)->fld[0]).rtuint)) == 20 || ((((op1)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op1)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= 7)) index_op = 0; else if ((((((op1)->fld[0]).rtuint)) < 7 || ((((op1)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op1)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] < 7) && (((((op0)->fld[0]).rtuint)) <= 7 || ((((op0)->fld[0]).rtuint)) == 16 || ((((op0)->fld[0]).rtuint)) == 20 || ((((op0)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op0)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= 7)) index_op = 1; else if ((((((op1)->fld[0]).rtuint)) <= 7 || ((((op1)->fld[0]).rtuint)) == 16 || ((((op1)->fld[0]).rtuint)) == 20 || ((((op1)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op1)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= 7)) index_op = 0; else if ((((((op0)->fld[0]).rtuint)) <= 7 || ((((op0)->fld[0]).rtuint)) == 16 || ((((op0)->fld[0]).rtuint)) == 20 || ((((op0)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op0)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= 7)) index_op = 1; else if ((((((op1)->fld[0]).rtuint)) < 7 || ((((op1)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op1)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] < 7)) index_op = 1; else index_op = 0; locI = &(((x)->fld[index_op]).rtx); locB = &(((x)->fld[!index_op]).rtx); } else if (code0 == REG) { locI = &(((x)->fld[0]).rtx); locB = &(((x)->fld[1]).rtx); } else if (code1 == REG) { locI = &(((x)->fld[1]).rtx); locB = &(((x)->fld[0]).rtx); } if (locI) scan_rtx_address (insn, locI, INDEX_REGS, action, mode); if (locB) scan_rtx_address (insn, locB, GENERAL_REGS, action, mode); return; } case POST_INC: case POST_DEC: case POST_MODIFY: case PRE_INC: case PRE_DEC: case PRE_MODIFY: action = terminate_all_read; break; case MEM: scan_rtx_address (insn, &(((x)->fld[0]).rtx), GENERAL_REGS, action, ((enum machine_mode) (x)->mode)); return; case REG: scan_rtx_reg (insn, loc, class, action, OP_IN, 0); return; default: break; } fmt = (rtx_format[(int) (code)]); for (i = (rtx_length[(int) (code)]) - 1; i >= 0; i--) { if (fmt[i] == 'e') scan_rtx_address (insn, &(((x)->fld[i]).rtx), class, action, mode); else if (fmt[i] == 'E') for (j = (((((x)->fld[i]).rtvec))->num_elem) - 1; j >= 0; j--) scan_rtx_address (insn, &(((((x)->fld[i]).rtvec))->elem[j]), class, action, mode); } } static void scan_rtx (insn, loc, class, action, type, earlyclobber) rtx insn; rtx *loc; enum reg_class class; enum scan_actions action; enum op_type type; int earlyclobber; { const char *fmt; rtx x = *loc; enum rtx_code code = ((enum rtx_code) (x)->code); int i, j; code = ((enum rtx_code) (x)->code); switch (code) { case CONST: case CONST_INT: case CONST_DOUBLE: case CONST_VECTOR: case SYMBOL_REF: case LABEL_REF: case CC0: case PC: return; case REG: scan_rtx_reg (insn, loc, class, action, type, earlyclobber); return; case MEM: scan_rtx_address (insn, &(((x)->fld[0]).rtx), GENERAL_REGS, action, ((enum machine_mode) (x)->mode)); return; case SET: scan_rtx (insn, &(((x)->fld[1]).rtx), class, action, OP_IN, 0); scan_rtx (insn, &(((x)->fld[0]).rtx), class, action, OP_OUT, 0); return; case STRICT_LOW_PART: scan_rtx (insn, &(((x)->fld[0]).rtx), class, action, OP_INOUT, earlyclobber); return; case ZERO_EXTRACT: case SIGN_EXTRACT: scan_rtx (insn, &(((x)->fld[0]).rtx), class, action, type == OP_IN ? OP_IN : OP_INOUT, earlyclobber); scan_rtx (insn, &(((x)->fld[1]).rtx), class, action, OP_IN, 0); scan_rtx (insn, &(((x)->fld[2]).rtx), class, action, OP_IN, 0); return; case POST_INC: case PRE_INC: case POST_DEC: case PRE_DEC: case POST_MODIFY: case PRE_MODIFY: fancy_abort ("regrename.c", 722, __FUNCTION__); case CLOBBER: scan_rtx (insn, &(((x)->fld[0]).rtx), class, action, OP_OUT, 1); return; case EXPR_LIST: scan_rtx (insn, &(((x)->fld[0]).rtx), class, action, type, 0); if ((((x)->fld[1]).rtx)) scan_rtx (insn, &(((x)->fld[1]).rtx), class, action, type, 0); return; default: break; } fmt = (rtx_format[(int) (code)]); for (i = (rtx_length[(int) (code)]) - 1; i >= 0; i--) { if (fmt[i] == 'e') scan_rtx (insn, &(((x)->fld[i]).rtx), class, action, type, 0); else if (fmt[i] == 'E') for (j = (((((x)->fld[i]).rtvec))->num_elem) - 1; j >= 0; j--) scan_rtx (insn, &(((((x)->fld[i]).rtvec))->elem[j]), class, action, type, 0); } } static struct du_chain * build_def_use (bb) basic_block bb; { rtx insn; open_chains = closed_chains = # 757 "regrename.c" 3 4 ((void *)0) # 757 "regrename.c" ; for (insn = bb->head; ; insn = (((insn)->fld[2]).rtx)) { if (((rtx_class[(int) (((enum rtx_code) (insn)->code))]) == 'i')) { int n_ops; rtx note; rtx old_operands[30]; rtx old_dups[4]; int i, icode; int alt; int predicated; # 787 "regrename.c" icode = ((((insn)->fld[4]).rtint) >= 0 ? (((insn)->fld[4]).rtint) : recog_memoized_1 (insn)); extract_insn (insn); constrain_operands (1); preprocess_constraints (); alt = which_alternative; n_ops = recog_data.n_operands; predicated = ((enum rtx_code) ((((insn)->fld[3]).rtx))->code) == COND_EXEC; for (i = 0; i < n_ops; ++i) { int matches = recog_op_alt[i][alt].matches; if (matches >= 0) recog_op_alt[i][alt].class = recog_op_alt[matches][alt].class; if (matches >= 0 || recog_op_alt[i][alt].matched >= 0 || (predicated && recog_data.operand_type[i] == OP_OUT)) recog_data.operand_type[i] = OP_INOUT; } for (i = 0; i < n_ops; i++) scan_rtx (insn, recog_data.operand_loc[i], NO_REGS, terminate_overlapping_read, recog_data.operand_type[i], 0); for (i = 0; i < n_ops; i++) { old_operands[i] = recog_data.operand[i]; if (recog_data.constraints[i][0] == '\0') continue; *recog_data.operand_loc[i] = (global_rtl[GR_CC0]); } for (i = 0; i < recog_data.n_dups; i++) { int dup_num = recog_data.dup_num[i]; old_dups[i] = *recog_data.dup_loc[i]; *recog_data.dup_loc[i] = (global_rtl[GR_CC0]); if (icode >= 0 && insn_data[icode].operand[dup_num].eliminable == 0) old_dups[i] = recog_data.operand[dup_num]; } scan_rtx (insn, &(((insn)->fld[3]).rtx), NO_REGS, terminate_all_read, OP_IN, 0); for (i = 0; i < recog_data.n_dups; i++) *recog_data.dup_loc[i] = old_dups[i]; for (i = 0; i < n_ops; i++) *recog_data.operand_loc[i] = old_operands[i]; if (((enum rtx_code) (insn)->code) == CALL_INSN && (((insn)->fld[7]).rtx)) scan_rtx (insn, &(((insn)->fld[7]).rtx), NO_REGS, terminate_all_read, OP_IN, 0); if (asm_noperands ((((insn)->fld[3]).rtx)) > 0) for (i = 0; i < n_ops; i++) { rtx *loc = recog_data.operand_loc[i]; rtx op = *loc; if (((enum rtx_code) (op)->code) == REG && (((op)->fld[0]).rtuint) == (((op)->fld[1]).rtuint) && (recog_data.operand_type[i] == OP_IN || recog_data.operand_type[i] == OP_INOUT)) scan_rtx (insn, loc, NO_REGS, terminate_all_read, OP_IN, 0); } for (i = 0; i < n_ops + recog_data.n_dups; i++) { int opn = i < n_ops ? i : recog_data.dup_num[i - n_ops]; rtx *loc = (i < n_ops ? recog_data.operand_loc[opn] : recog_data.dup_loc[i - n_ops]); enum reg_class class = recog_op_alt[opn][alt].class; enum op_type type = recog_data.operand_type[opn]; if (recog_data.constraints[opn][0] == '\0') continue; if (recog_op_alt[opn][alt].is_address) scan_rtx_address (insn, loc, class, mark_read, VOIDmode); else scan_rtx (insn, loc, class, mark_read, type, 0); } for (note = (((insn)->fld[6]).rtx); note; note = (((note)->fld[1]).rtx)) { if (((enum reg_note) ((enum machine_mode) (note)->mode)) == REG_DEAD) scan_rtx (insn, &(((note)->fld[0]).rtx), NO_REGS, terminate_dead, OP_IN, 0); else if (((enum reg_note) ((enum machine_mode) (note)->mode)) == REG_INC) scan_rtx (insn, &(((note)->fld[0]).rtx), ALL_REGS, mark_read, OP_INOUT, 0); } if (((enum rtx_code) (insn)->code) == CALL_INSN) { struct du_chain *p; for (p = open_chains; p; p = p->next_chain) p->need_caller_save_reg = 1; } for (i = 0; i < n_ops; i++) { old_operands[i] = recog_data.operand[i]; if (recog_data.operand_type[i] == OP_INOUT) *recog_data.operand_loc[i] = (global_rtl[GR_CC0]); } for (i = 0; i < recog_data.n_dups; i++) { int opn = recog_data.dup_num[i]; old_dups[i] = *recog_data.dup_loc[i]; if (recog_data.operand_type[opn] == OP_INOUT) *recog_data.dup_loc[i] = (global_rtl[GR_CC0]); } scan_rtx (insn, &(((insn)->fld[3]).rtx), NO_REGS, terminate_write, OP_IN, 0); for (i = 0; i < recog_data.n_dups; i++) *recog_data.dup_loc[i] = old_dups[i]; for (i = 0; i < n_ops; i++) *recog_data.operand_loc[i] = old_operands[i]; if (asm_noperands ((((insn)->fld[3]).rtx)) > 0) { for (i = 0; i < n_ops; i++) if (recog_data.operand_type[i] == OP_OUT) { rtx *loc = recog_data.operand_loc[i]; rtx op = *loc; enum reg_class class = recog_op_alt[i][alt].class; if (((enum rtx_code) (op)->code) == REG && (((op)->fld[0]).rtuint) == (((op)->fld[1]).rtuint)) continue; scan_rtx (insn, loc, class, mark_write, OP_OUT, recog_op_alt[i][alt].earlyclobber); } } else if (((enum rtx_code) (insn)->code) != CALL_INSN) for (i = 0; i < n_ops + recog_data.n_dups; i++) { int opn = i < n_ops ? i : recog_data.dup_num[i - n_ops]; rtx *loc = (i < n_ops ? recog_data.operand_loc[opn] : recog_data.dup_loc[i - n_ops]); enum reg_class class = recog_op_alt[opn][alt].class; if (recog_data.operand_type[opn] == OP_OUT) scan_rtx (insn, loc, class, mark_write, OP_OUT, recog_op_alt[opn][alt].earlyclobber); } for (note = (((insn)->fld[6]).rtx); note; note = (((note)->fld[1]).rtx)) if (((enum reg_note) ((enum machine_mode) (note)->mode)) == REG_UNUSED) scan_rtx (insn, &(((note)->fld[0]).rtx), NO_REGS, terminate_dead, OP_IN, 0); } if (insn == bb->end) break; } return closed_chains; } static void dump_def_use_chain (chains) struct du_chain *chains; { while (chains) { struct du_chain *this = chains; int r = (((*this->loc)->fld[0]).rtuint); int nregs = (((r) >= 8 && (r) <= (8 + 7)) || (((r) >= (20 + 1) && (r) <= ((20 + 1) + 7)) || ((r) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (r) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((r) >= (((20 + 1) + 7) + 1) && (r) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((enum machine_mode) (*this->loc)->mode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((enum machine_mode) (*this->loc)->mode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((enum machine_mode) (*this->loc)->mode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((enum machine_mode) (*this->loc)->mode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((enum machine_mode) (*this->loc)->mode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); fprintf (rtl_dump_file, "Register %s (%d):", reg_names[r], nregs); while (this) { fprintf (rtl_dump_file, " %d [%s]", (((this->insn)->fld[0]).rtint), reg_class_names[this->class]); this = this->next_use; } fprintf (rtl_dump_file, "\n"); chains = chains->next_chain; } } # 1028 "regrename.c" struct value_data_entry { enum machine_mode mode; unsigned int oldest_regno; unsigned int next_regno; }; struct value_data { struct value_data_entry e[53]; unsigned int max_value_regs; }; static void kill_value_regno (unsigned, struct value_data *); static void kill_value (rtx, struct value_data *); static void set_value_regno (unsigned, enum machine_mode, struct value_data *) ; static void init_value_data (struct value_data *); static void kill_clobbered_value (rtx, rtx, void *); static void kill_set_value (rtx, rtx, void *); static int kill_autoinc_value (rtx *, void *); static void copy_value (rtx, rtx, struct value_data *); static _Bool mode_change_ok (enum machine_mode, enum machine_mode, unsigned int) ; static rtx find_oldest_value_reg (enum reg_class, rtx, struct value_data *) ; static _Bool replace_oldest_value_reg (rtx *, enum reg_class, rtx, struct value_data *) ; static _Bool replace_oldest_value_addr (rtx *, enum reg_class, enum machine_mode, rtx, struct value_data *) ; static _Bool replace_oldest_value_mem (rtx, rtx, struct value_data *); static _Bool copyprop_hardreg_forward_1 (basic_block, struct value_data *) ; extern void debug_value_data (struct value_data *); static void kill_value_regno (regno, vd) unsigned int regno; struct value_data *vd; { unsigned int i, next; if (vd->e[regno].oldest_regno != regno) { for (i = vd->e[regno].oldest_regno; vd->e[i].next_regno != regno; i = vd->e[i].next_regno) continue; vd->e[i].next_regno = vd->e[regno].next_regno; } else if ((next = vd->e[regno].next_regno) != (~(unsigned int) 0)) { for (i = next; i != (~(unsigned int) 0); i = vd->e[i].next_regno) vd->e[i].oldest_regno = next; } vd->e[regno].mode = VOIDmode; vd->e[regno].oldest_regno = regno; vd->e[regno].next_regno = (~(unsigned int) 0); } static void kill_value (x, vd) rtx x; struct value_data *vd; { if (((enum rtx_code) (x)->code) == SUBREG) x = simplify_subreg (((enum machine_mode) (x)->mode), (((x)->fld[0]).rtx), ((enum machine_mode) ((((x)->fld[0]).rtx))->mode), (((x)->fld[1]).rtuint)); if ((((enum rtx_code) (x)->code) == REG)) { unsigned int regno = (((x)->fld[0]).rtuint); unsigned int n = (((regno) >= 8 && (regno) <= (8 + 7)) || (((regno) >= (20 + 1) && (regno) <= ((20 + 1) + 7)) || ((regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((regno) >= (((20 + 1) + 7) + 1) && (regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((enum machine_mode) (x)->mode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((enum machine_mode) (x)->mode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((enum machine_mode) (x)->mode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((enum machine_mode) (x)->mode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((enum machine_mode) (x)->mode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); unsigned int i, j; for (i = 0; i < n; ++i) kill_value_regno (regno + i, vd); if (regno < vd->max_value_regs) j = 0; else j = regno - vd->max_value_regs; for (; j < regno; ++j) { if (vd->e[j].mode == VOIDmode) continue; n = (((j) >= 8 && (j) <= (8 + 7)) || (((j) >= (20 + 1) && (j) <= ((20 + 1) + 7)) || ((j) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (j) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((j) >= (((20 + 1) + 7) + 1) && (j) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (vd->e[j].mode)]) == MODE_COMPLEX_INT || (mode_class[(int) (vd->e[j].mode)]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((vd->e[j].mode) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (vd->e[j].mode) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (vd->e[j].mode)]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); if (j + n > regno) for (i = 0; i < n; ++i) kill_value_regno (j + i, vd); } } } static void set_value_regno (regno, mode, vd) unsigned int regno; enum machine_mode mode; struct value_data *vd; { unsigned int nregs; vd->e[regno].mode = mode; nregs = (((regno) >= 8 && (regno) <= (8 + 7)) || (((regno) >= (20 + 1) && (regno) <= ((20 + 1) + 7)) || ((regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((regno) >= (((20 + 1) + 7) + 1) && (regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (mode)]) == MODE_COMPLEX_INT || (mode_class[(int) (mode)]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((mode) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (mode) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (mode)]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); if (nregs > vd->max_value_regs) vd->max_value_regs = nregs; } static void init_value_data (vd) struct value_data *vd; { int i; for (i = 0; i < 53; ++i) { vd->e[i].mode = VOIDmode; vd->e[i].oldest_regno = i; vd->e[i].next_regno = (~(unsigned int) 0); } vd->max_value_regs = 0; } static void kill_clobbered_value (x, set, data) rtx x; rtx set; void *data; { struct value_data *vd = data; if (((enum rtx_code) (set)->code) == CLOBBER) kill_value (x, vd); } static void kill_set_value (x, set, data) rtx x; rtx set; void *data; { struct value_data *vd = data; if (((enum rtx_code) (set)->code) != CLOBBER) { kill_value (x, vd); if ((((enum rtx_code) (x)->code) == REG)) set_value_regno ((((x)->fld[0]).rtuint), ((enum machine_mode) (x)->mode), vd); } } static int kill_autoinc_value (px, data) rtx *px; void *data; { rtx x = *px; struct value_data *vd = data; if ((rtx_class[(int) (((enum rtx_code) (x)->code))]) == 'a') { x = (((x)->fld[0]).rtx); kill_value (x, vd); set_value_regno ((((x)->fld[0]).rtuint), ((target_flags & 0x02000000) ? DImode : SImode), vd); return -1; } return 0; } static void copy_value (dest, src, vd) rtx dest; rtx src; struct value_data *vd; { unsigned int dr = (((dest)->fld[0]).rtuint); unsigned int sr = (((src)->fld[0]).rtuint); unsigned int dn, sn; unsigned int i; if (sr == dr) return; if (dr == 7) return; if (frame_pointer_needed && dr == 6) return; dn = (((dr) >= 8 && (dr) <= (8 + 7)) || (((dr) >= (20 + 1) && (dr) <= ((20 + 1) + 7)) || ((dr) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (dr) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((dr) >= (((20 + 1) + 7) + 1) && (dr) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((enum machine_mode) (dest)->mode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((enum machine_mode) (dest)->mode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((enum machine_mode) (dest)->mode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((enum machine_mode) (dest)->mode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((enum machine_mode) (dest)->mode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); sn = (((sr) >= 8 && (sr) <= (8 + 7)) || (((sr) >= (20 + 1) && (sr) <= ((20 + 1) + 7)) || ((sr) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (sr) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((sr) >= (((20 + 1) + 7) + 1) && (sr) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (((enum machine_mode) (dest)->mode))]) == MODE_COMPLEX_INT || (mode_class[(int) (((enum machine_mode) (dest)->mode))]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((((enum machine_mode) (dest)->mode)) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (((enum machine_mode) (dest)->mode)) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (((enum machine_mode) (dest)->mode))]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))); if ((dr > sr && dr < sr + sn) || (sr > dr && sr < dr + dn)) return; if (vd->e[sr].mode == VOIDmode) set_value_regno (sr, vd->e[dr].mode, vd); else if (sn > (unsigned int) (((sr) >= 8 && (sr) <= (8 + 7)) || (((sr) >= (20 + 1) && (sr) <= ((20 + 1) + 7)) || ((sr) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (sr) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((sr) >= (((20 + 1) + 7) + 1) && (sr) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (vd->e[sr].mode)]) == MODE_COMPLEX_INT || (mode_class[(int) (vd->e[sr].mode)]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((vd->e[sr].mode) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (vd->e[sr].mode) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (vd->e[sr].mode)]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4))))) return; vd->e[dr].oldest_regno = vd->e[sr].oldest_regno; for (i = sr; vd->e[i].next_regno != (~(unsigned int) 0); i = vd->e[i].next_regno) continue; vd->e[i].next_regno = dr; } static _Bool mode_change_ok (orig_mode, new_mode, regno) enum machine_mode orig_mode, new_mode; unsigned int regno __attribute__ ((__unused__)); { if ((mode_size[(int) (orig_mode)]) < (mode_size[(int) (new_mode)])) return 0; return 1; } static rtx find_oldest_value_reg (class, reg, vd) enum reg_class class; rtx reg; struct value_data *vd; { unsigned int regno = (((reg)->fld[0]).rtuint); enum machine_mode mode = ((enum machine_mode) (reg)->mode); unsigned int i; # 1330 "regrename.c" if (mode != vd->e[regno].mode) { if ((((regno) >= 8 && (regno) <= (8 + 7)) || (((regno) >= (20 + 1) && (regno) <= ((20 + 1) + 7)) || ((regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((regno) >= (((20 + 1) + 7) + 1) && (regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (mode)]) == MODE_COMPLEX_INT || (mode_class[(int) (mode)]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((mode) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (mode) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (mode)]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))) > (((regno) >= 8 && (regno) <= (8 + 7)) || (((regno) >= (20 + 1) && (regno) <= ((20 + 1) + 7)) || ((regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((regno) >= (((20 + 1) + 7) + 1) && (regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (vd->e[regno].mode)]) == MODE_COMPLEX_INT || (mode_class[(int) (vd->e[regno].mode)]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((vd->e[regno].mode) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (vd->e[regno].mode) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (vd->e[regno].mode)]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4))))) return (rtx) 0; } for (i = vd->e[regno].oldest_regno; i != regno; i = vd->e[i].next_regno) if (((reg_class_contents[class]) & (((HARD_REG_ELT_TYPE) (1)) << (i))) && (vd->e[i].mode == mode || mode_change_ok (vd->e[i].mode, mode, i))) { rtx new = gen_rtx_fmt_i0 (REG, (mode), (i)); (((new)->fld[1]).rtuint) = (((reg)->fld[1]).rtuint); return new; } return (rtx) 0; } static _Bool replace_oldest_value_reg (loc, class, insn, vd) rtx *loc; enum reg_class class; rtx insn; struct value_data *vd; { rtx new = find_oldest_value_reg (class, *loc, vd); if (new) { if (rtl_dump_file) fprintf (rtl_dump_file, "insn %u: replaced reg %u with %u\n", (((insn)->fld[0]).rtint), (((*loc)->fld[0]).rtuint), (((new)->fld[0]).rtuint)); *loc = new; return 1; } return 0; } static _Bool replace_oldest_value_addr (loc, class, mode, insn, vd) rtx *loc; enum reg_class class; enum machine_mode mode; rtx insn; struct value_data *vd; { rtx x = *loc; enum rtx_code code = ((enum rtx_code) (x)->code); const char *fmt; int i, j; _Bool changed = 0; switch (code) { case PLUS: { rtx orig_op0 = (((x)->fld[0]).rtx); rtx orig_op1 = (((x)->fld[1]).rtx); enum rtx_code code0 = ((enum rtx_code) (orig_op0)->code); enum rtx_code code1 = ((enum rtx_code) (orig_op1)->code); rtx op0 = orig_op0; rtx op1 = orig_op1; rtx *locI = # 1401 "regrename.c" 3 4 ((void *)0) # 1401 "regrename.c" ; rtx *locB = # 1402 "regrename.c" 3 4 ((void *)0) # 1402 "regrename.c" ; if (((enum rtx_code) (op0)->code) == SUBREG) { op0 = (((op0)->fld[0]).rtx); code0 = ((enum rtx_code) (op0)->code); } if (((enum rtx_code) (op1)->code) == SUBREG) { op1 = (((op1)->fld[0]).rtx); code1 = ((enum rtx_code) (op1)->code); } if (code0 == MULT || code0 == SIGN_EXTEND || code0 == TRUNCATE || code0 == ZERO_EXTEND || code1 == MEM) { locI = &(((x)->fld[0]).rtx); locB = &(((x)->fld[1]).rtx); } else if (code1 == MULT || code1 == SIGN_EXTEND || code1 == TRUNCATE || code1 == ZERO_EXTEND || code0 == MEM) { locI = &(((x)->fld[1]).rtx); locB = &(((x)->fld[0]).rtx); } else if (code0 == CONST_INT || code0 == CONST || code0 == SYMBOL_REF || code0 == LABEL_REF) locB = &(((x)->fld[1]).rtx); else if (code1 == CONST_INT || code1 == CONST || code1 == SYMBOL_REF || code1 == LABEL_REF) locB = &(((x)->fld[0]).rtx); else if (code0 == REG && code1 == REG) { int index_op; if ((((((op0)->fld[0]).rtuint)) < 7 || ((((op0)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op0)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] < 7) && (((((op1)->fld[0]).rtuint)) <= 7 || ((((op1)->fld[0]).rtuint)) == 16 || ((((op1)->fld[0]).rtuint)) == 20 || ((((op1)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op1)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= 7)) index_op = 0; else if ((((((op1)->fld[0]).rtuint)) < 7 || ((((op1)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op1)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] < 7) && (((((op0)->fld[0]).rtuint)) <= 7 || ((((op0)->fld[0]).rtuint)) == 16 || ((((op0)->fld[0]).rtuint)) == 20 || ((((op0)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op0)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= 7)) index_op = 1; else if ((((((op1)->fld[0]).rtuint)) <= 7 || ((((op1)->fld[0]).rtuint)) == 16 || ((((op1)->fld[0]).rtuint)) == 20 || ((((op1)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op1)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= 7)) index_op = 0; else if ((((((op0)->fld[0]).rtuint)) <= 7 || ((((op0)->fld[0]).rtuint)) == 16 || ((((op0)->fld[0]).rtuint)) == 20 || ((((op0)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op0)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op0)->fld[0]).rtuint))] <= 7)) index_op = 1; else if ((((((op1)->fld[0]).rtuint)) < 7 || ((((op1)->fld[0]).rtuint) >= (((((20 + 1) + 7) + 1) + 7) + 1) && ((((op1)->fld[0]).rtuint)) <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || ((unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] >= (((((20 + 1) + 7) + 1) + 7) + 1) && (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] <= ((((((20 + 1) + 7) + 1) + 7) + 1) + 7)) || (unsigned) reg_renumber[((((op1)->fld[0]).rtuint))] < 7)) index_op = 1; else index_op = 0; locI = &(((x)->fld[index_op]).rtx); locB = &(((x)->fld[!index_op]).rtx); } else if (code0 == REG) { locI = &(((x)->fld[0]).rtx); locB = &(((x)->fld[1]).rtx); } else if (code1 == REG) { locI = &(((x)->fld[1]).rtx); locB = &(((x)->fld[0]).rtx); } if (locI) changed |= replace_oldest_value_addr (locI, INDEX_REGS, mode, insn, vd); if (locB) changed |= replace_oldest_value_addr (locB, GENERAL_REGS, mode, insn, vd); return changed; } case POST_INC: case POST_DEC: case POST_MODIFY: case PRE_INC: case PRE_DEC: case PRE_MODIFY: return 0; case MEM: return replace_oldest_value_mem (x, insn, vd); case REG: return replace_oldest_value_reg (loc, class, insn, vd); default: break; } fmt = (rtx_format[(int) (code)]); for (i = (rtx_length[(int) (code)]) - 1; i >= 0; i--) { if (fmt[i] == 'e') changed |= replace_oldest_value_addr (&(((x)->fld[i]).rtx), class, mode, insn, vd); else if (fmt[i] == 'E') for (j = (((((x)->fld[i]).rtvec))->num_elem) - 1; j >= 0; j--) changed |= replace_oldest_value_addr (&(((((x)->fld[i]).rtvec))->elem[j]), class, mode, insn, vd); } return changed; } static _Bool replace_oldest_value_mem (x, insn, vd) rtx x; rtx insn; struct value_data *vd; { return replace_oldest_value_addr (&(((x)->fld[0]).rtx), GENERAL_REGS, ((enum machine_mode) (x)->mode), insn, vd); } static _Bool copyprop_hardreg_forward_1 (bb, vd) basic_block bb; struct value_data *vd; { _Bool changed = 0; rtx insn; for (insn = bb->head; ; insn = (((insn)->fld[2]).rtx)) { int n_ops, i, alt, predicated; _Bool is_asm; rtx set; if (! ((rtx_class[(int) (((enum rtx_code) (insn)->code))]) == 'i')) { if (insn == bb->end) break; else continue; } set = (((rtx_class[(int) (((enum rtx_code) (insn)->code))]) == 'i') ? (((enum rtx_code) ((((insn)->fld[3]).rtx))->code) == SET ? (((insn)->fld[3]).rtx) : single_set_2 (insn, (((insn)->fld[3]).rtx))) : (rtx) 0); extract_insn (insn); constrain_operands (1); preprocess_constraints (); alt = which_alternative; n_ops = recog_data.n_operands; is_asm = asm_noperands ((((insn)->fld[3]).rtx)) >= 0; predicated = ((enum rtx_code) ((((insn)->fld[3]).rtx))->code) == COND_EXEC; for (i = 0; i < n_ops; ++i) { int matches = recog_op_alt[i][alt].matches; if (matches >= 0) recog_op_alt[i][alt].class = recog_op_alt[matches][alt].class; if (matches >= 0 || recog_op_alt[i][alt].matched >= 0 || (predicated && recog_data.operand_type[i] == OP_OUT)) recog_data.operand_type[i] = OP_INOUT; } for (i = 0; i < n_ops; i++) if (recog_op_alt[i][alt].earlyclobber) kill_value (recog_data.operand[i], vd); note_stores ((((insn)->fld[3]).rtx), kill_clobbered_value, vd); for_each_rtx (&(((insn)->fld[3]).rtx), kill_autoinc_value, vd); for (i = 0; i < n_ops; i++) if (recog_op_alt[i][alt].earlyclobber) kill_value (recog_data.operand[i], vd); if (set && (((enum rtx_code) ((((set)->fld[1]).rtx))->code) == REG)) { rtx src = (((set)->fld[1]).rtx); unsigned int regno = (((src)->fld[0]).rtuint); enum machine_mode mode = ((enum machine_mode) (src)->mode); unsigned int i; rtx new; if (mode != vd->e[regno].mode) { if ((((regno) >= 8 && (regno) <= (8 + 7)) || (((regno) >= (20 + 1) && (regno) <= ((20 + 1) + 7)) || ((regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((regno) >= (((20 + 1) + 7) + 1) && (regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (mode)]) == MODE_COMPLEX_INT || (mode_class[(int) (mode)]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((mode) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (mode) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (mode)]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4)))) > (((regno) >= 8 && (regno) <= (8 + 7)) || (((regno) >= (20 + 1) && (regno) <= ((20 + 1) + 7)) || ((regno) >= (((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) && (regno) <= ((((((((20 + 1) + 7) + 1) + 7) + 1) + 7) + 1) + 7))) || ((regno) >= (((20 + 1) + 7) + 1) && (regno) <= ((((20 + 1) + 7) + 1) + 7)) ? (((mode_class[(int) (vd->e[regno].mode)]) == MODE_COMPLEX_INT || (mode_class[(int) (vd->e[regno].mode)]) == MODE_COMPLEX_FLOAT) ? 2 : 1) : ((vd->e[regno].mode) == TFmode ? ((target_flags & 0x02000000) ? 2 : 3) : (vd->e[regno].mode) == TCmode ? ((target_flags & 0x02000000) ? 4 : 6) : (((mode_size[(int) (vd->e[regno].mode)]) + ((target_flags & 0x02000000) ? 8 : 4) - 1) / ((target_flags & 0x02000000) ? 8 : 4))))) goto no_move_special_case; } if ((((enum rtx_code) ((((set)->fld[0]).rtx))->code) == REG)) { new = find_oldest_value_reg ((regclass_map[regno]), src, vd); if (new && validate_change (insn, &(((set)->fld[1]).rtx), new, 0)) { if (rtl_dump_file) fprintf (rtl_dump_file, "insn %u: replaced reg %u with %u\n", (((insn)->fld[0]).rtint), regno, (((new)->fld[0]).rtuint)); changed = 1; goto did_replacement; } } for (i = vd->e[regno].oldest_regno; i != regno; i = vd->e[i].next_regno) if (vd->e[i].mode == mode || mode_change_ok (vd->e[i].mode, mode, i)) { new = gen_rtx_fmt_i0 (REG, (mode), (i)); if (validate_change (insn, &(((set)->fld[1]).rtx), new, 0)) { (((new)->fld[1]).rtuint) = (((src)->fld[1]).rtuint); if (rtl_dump_file) fprintf (rtl_dump_file, "insn %u: replaced reg %u with %u\n", (((insn)->fld[0]).rtint), regno, (((new)->fld[0]).rtuint)); changed = 1; goto did_replacement; } } } no_move_special_case: for (i = 0; i < n_ops; i++) { _Bool replaced = 0; if (recog_data.constraints[i][0] == '\0') continue; if (is_asm && ((enum rtx_code) (recog_data.operand[i])->code) == REG && ((((recog_data.operand[i])->fld[0]).rtuint) == (((recog_data.operand[i])->fld[1]).rtuint))) continue; if (recog_data.operand_type[i] == OP_IN) { if (recog_op_alt[i][alt].is_address) replaced = replace_oldest_value_addr (recog_data.operand_loc[i], recog_op_alt[i][alt].class, VOIDmode, insn, vd); else if ((((enum rtx_code) (recog_data.operand[i])->code) == REG)) replaced = replace_oldest_value_reg (recog_data.operand_loc[i], recog_op_alt[i][alt].class, insn, vd); else if (((enum rtx_code) (recog_data.operand[i])->code) == MEM) replaced = replace_oldest_value_mem (recog_data.operand[i], insn, vd); } else if (((enum rtx_code) (recog_data.operand[i])->code) == MEM) replaced = replace_oldest_value_mem (recog_data.operand[i], insn, vd); if (replaced) { int j; rtx new; changed = 1; new = *recog_data.operand_loc[i]; recog_data.operand[i] = new; for (j = 0; j < recog_data.n_dups; j++) if (recog_data.dup_num[j] == i) *recog_data.dup_loc[j] = new; } } did_replacement: if (((enum rtx_code) (insn)->code) == CALL_INSN) for (i = 0; i < 53; i++) if (((regs_invalidated_by_call) & (((HARD_REG_ELT_TYPE) (1)) << (i)))) kill_value_regno (i, vd); note_stores ((((insn)->fld[3]).rtx), kill_set_value, vd); if (set && (((enum rtx_code) ((((set)->fld[0]).rtx))->code) == REG) && (((enum rtx_code) ((((set)->fld[1]).rtx))->code) == REG)) copy_value ((((set)->fld[0]).rtx), (((set)->fld[1]).rtx), vd); if (insn == bb->end) break; } return changed; } void copyprop_hardreg_forward () { struct value_data *all_vd; _Bool need_refresh; int b; need_refresh = 0; all_vd = xmalloc (sizeof (struct value_data) * n_basic_blocks); for (b = 0; b < n_basic_blocks; b++) { basic_block bb = (((basic_block_info)->data.bb[(b)])); if (bb->pred && ! bb->pred->pred_next && ! (bb->pred->flags & (4 | 8)) && bb->pred->src->index != (-1) && bb->pred->src->index < b) all_vd[b] = all_vd[bb->pred->src->index]; else init_value_data (all_vd + b); if (copyprop_hardreg_forward_1 (bb, all_vd + b)) need_refresh = 1; } if (need_refresh) { if (rtl_dump_file) fputs ("\n\n", rtl_dump_file); delete_noop_moves (get_insns ()); update_life_info ( # 1763 "regrename.c" 3 4 ((void *)0) # 1763 "regrename.c" , UPDATE_LIFE_GLOBAL_RM_NOTES, 1 | 16 | 8); } free (all_vd); } void debug_value_data (vd) struct value_data *vd; { HARD_REG_ELT_TYPE set; unsigned int i, j; ((set) = ((HARD_REG_ELT_TYPE) (0))); for (i = 0; i < 53; ++i) if (vd->e[i].oldest_regno == i) { if (vd->e[i].mode == VOIDmode) { if (vd->e[i].next_regno != (~(unsigned int) 0)) fprintf ( # 1789 "regrename.c" 3 4 stderr # 1789 "regrename.c" , "[%u] Bad next_regno for empty chain (%u)\n", i, vd->e[i].next_regno); continue; } ((set) |= ((HARD_REG_ELT_TYPE) (1)) << (i)); fprintf ( # 1795 "regrename.c" 3 4 stderr # 1795 "regrename.c" , "[%u %s] ", i, (mode_name[(int) (vd->e[i].mode)])); for (j = vd->e[i].next_regno; j != (~(unsigned int) 0); j = vd->e[j].next_regno) { if (((set) & (((HARD_REG_ELT_TYPE) (1)) << (j)))) { fprintf ( # 1803 "regrename.c" 3 4 stderr # 1803 "regrename.c" , "[%u] Loop in regno chain\n", j); return; } if (vd->e[j].oldest_regno != i) { fprintf ( # 1809 "regrename.c" 3 4 stderr # 1809 "regrename.c" , "[%u] Bad oldest_regno (%u)\n", j, vd->e[j].oldest_regno); return; } ((set) |= ((HARD_REG_ELT_TYPE) (1)) << (j)); fprintf ( # 1814 "regrename.c" 3 4 stderr # 1814 "regrename.c" , "[%u %s] ", j, (mode_name[(int) (vd->e[j].mode)])); } fputc ('\n', # 1816 "regrename.c" 3 4 stderr # 1816 "regrename.c" ); } for (i = 0; i < 53; ++i) if (! ((set) & (((HARD_REG_ELT_TYPE) (1)) << (i))) && (vd->e[i].mode != VOIDmode || vd->e[i].oldest_regno != i || vd->e[i].next_regno != (~(unsigned int) 0))) fprintf ( # 1824 "regrename.c" 3 4 stderr # 1824 "regrename.c" , "[%u] Non-empty reg in chain (%s %u %i)\n", i, (mode_name[(int) (vd->e[i].mode)]), vd->e[i].oldest_regno, vd->e[i].next_regno); }