| ; REQUIRES: mips-registered-target | |
| ; Strip blank lines and inline attribute comments so the declaration | |
| ; stream is contiguous and can be checked with -NEXT: no unexpected call | |
| ; can sneak in between two checked declarations. | |
| ; RUN: opt -S -passes=declare-runtime-libcalls -mtriple=mips-unknown-linux-gnu < %s | sed '/^$/d;/^; Function Attrs:/d' | FileCheck -check-prefix=MIPS32 %s | |
| ; RUN: opt -S -passes=declare-runtime-libcalls -mtriple=mips64-unknown-linux-gnuabi64 < %s | sed '/^$/d;/^; Function Attrs:/d' | FileCheck -check-prefix=MIPS64 %s | |
| ; MIPS32: @__safestack_unsafe_stack_ptr = external thread_local(initialexec) global ptr | |
| ; MIPS32-NEXT: @__stack_chk_guard = external global ptr | |
| ; MIPS32-NEXT: declare i32 @_Unwind_RaiseException(ptr) | |
| ; MIPS32-NEXT: declare void @_Unwind_Resume(ptr) | |
| ; MIPS32-NEXT: declare double @__adddf3(double, double) | |
| ; MIPS32-NEXT: declare float @__addsf3(float, float) | |
| ; MIPS32-NEXT: declare fp128 @__addtf3(fp128, fp128) | |
| ; MIPS32-NEXT: declare i64 @__ashldi3(i64, i32 signext) | |
| ; MIPS32-NEXT: declare signext i16 @__ashlhi3(i16 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__ashlsi3(i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__ashrdi3(i64, i32 signext) | |
| ; MIPS32-NEXT: declare signext i16 @__ashrhi3(i16 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__ashrsi3(i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i1 @__atomic_compare_exchange(i32 signext, ptr, ptr, ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i1 @__atomic_compare_exchange_1(ptr, ptr, i8 zeroext, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i1 @__atomic_compare_exchange_16(ptr, ptr, i128, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i1 @__atomic_compare_exchange_2(ptr, ptr, i16 zeroext, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i1 @__atomic_compare_exchange_4(ptr, ptr, i32 signext, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i1 @__atomic_compare_exchange_8(ptr, ptr, i64, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare void @__atomic_exchange(i32 signext, ptr, ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__atomic_exchange_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__atomic_exchange_16(ptr, i128, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i16 @__atomic_exchange_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__atomic_exchange_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__atomic_exchange_8(ptr, i64, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__atomic_fetch_add_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__atomic_fetch_add_16(ptr, i128, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i16 @__atomic_fetch_add_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__atomic_fetch_add_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__atomic_fetch_add_8(ptr, i64, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__atomic_fetch_and_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__atomic_fetch_and_16(ptr, i128, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i16 @__atomic_fetch_and_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__atomic_fetch_and_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__atomic_fetch_and_8(ptr, i64, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__atomic_fetch_nand_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__atomic_fetch_nand_16(ptr, i128, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i16 @__atomic_fetch_nand_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__atomic_fetch_nand_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__atomic_fetch_nand_8(ptr, i64, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__atomic_fetch_or_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__atomic_fetch_or_16(ptr, i128, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i16 @__atomic_fetch_or_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__atomic_fetch_or_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__atomic_fetch_or_8(ptr, i64, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__atomic_fetch_sub_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__atomic_fetch_sub_16(ptr, i128, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i16 @__atomic_fetch_sub_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__atomic_fetch_sub_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__atomic_fetch_sub_8(ptr, i64, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__atomic_fetch_xor_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__atomic_fetch_xor_16(ptr, i128, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i16 @__atomic_fetch_xor_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__atomic_fetch_xor_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__atomic_fetch_xor_8(ptr, i64, i32 signext) | |
| ; MIPS32-NEXT: declare void @__atomic_load(i32 signext, ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__atomic_load_1(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__atomic_load_16(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare zeroext i16 @__atomic_load_2(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__atomic_load_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__atomic_load_8(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__atomic_store(i32 signext, ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__atomic_store_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare void @__atomic_store_16(ptr, i128, i32 signext) | |
| ; MIPS32-NEXT: declare void @__atomic_store_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS32-NEXT: declare void @__atomic_store_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare void @__atomic_store_8(ptr, i64, i32 signext) | |
| ; MIPS32-NEXT: declare void @__clear_cache(ptr, ptr) | |
| ; MIPS32-NEXT: declare i32 @__clzdi2(i64) | |
| ; MIPS32-NEXT: declare i32 @__clzsi2(i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__clzti2(i128) | |
| ; MIPS32-NEXT: declare i32 @__ctzdi2(i64) | |
| ; MIPS32-NEXT: declare i32 @__ctzsi2(i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__ctzti2(i128) | |
| ; MIPS32-NEXT: declare void @__cxa_end_cleanup() | |
| ; MIPS32-NEXT: declare double @__divdf3(double, double) | |
| ; MIPS32-NEXT: declare i64 @__divdi3(i64, i64) | |
| ; MIPS32-NEXT: declare signext i16 @__divhi3(i16 signext, i16 signext) | |
| ; MIPS32-NEXT: declare signext i8 @__divqi3(i8 signext, i8 signext) | |
| ; MIPS32-NEXT: declare float @__divsf3(float, float) | |
| ; MIPS32-NEXT: declare i32 @__divsi3(i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare fp128 @__divtf3(fp128, fp128) | |
| ; MIPS32-NEXT: declare i128 @__divti3(i128, i128) | |
| ; MIPS32-NEXT: declare i32 @__eqdf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__eqsf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__eqtf2(fp128, fp128) | |
| ; MIPS32-NEXT: declare double @__exp2_finite(double) | |
| ; MIPS32-NEXT: declare float @__exp2f_finite(float) | |
| ; MIPS32-NEXT: declare double @__exp_finite(double) | |
| ; MIPS32-NEXT: declare float @__expf_finite(float) | |
| ; MIPS32-NEXT: declare float @__extendbfsf2(bfloat) | |
| ; MIPS32-NEXT: declare fp128 @__extenddftf2(double) | |
| ; MIPS32-NEXT: declare double @__extendhfdf2(half) | |
| ; MIPS32-NEXT: declare float @__extendhfsf2(half) | |
| ; MIPS32-NEXT: declare fp128 @__extendhftf2(half) | |
| ; MIPS32-NEXT: declare double @__extendsfdf2(float) | |
| ; MIPS32-NEXT: declare fp128 @__extendsftf2(float) | |
| ; MIPS32-NEXT: declare i64 @__fixdfdi(double) | |
| ; MIPS32-NEXT: declare i32 @__fixdfsi(double) | |
| ; MIPS32-NEXT: declare i128 @__fixdfti(double) | |
| ; MIPS32-NEXT: declare i64 @__fixhfdi(half) | |
| ; MIPS32-NEXT: declare i32 @__fixhfsi(half) | |
| ; MIPS32-NEXT: declare i128 @__fixhfti(half) | |
| ; MIPS32-NEXT: declare i64 @__fixsfdi(float) | |
| ; MIPS32-NEXT: declare i32 @__fixsfsi(float) | |
| ; MIPS32-NEXT: declare i128 @__fixsfti(float) | |
| ; MIPS32-NEXT: declare i64 @__fixtfdi(fp128) | |
| ; MIPS32-NEXT: declare i32 @__fixtfsi(fp128) | |
| ; MIPS32-NEXT: declare i128 @__fixtfti(fp128) | |
| ; MIPS32-NEXT: declare i64 @__fixunsdfdi(double) | |
| ; MIPS32-NEXT: declare i32 @__fixunsdfsi(double) | |
| ; MIPS32-NEXT: declare i128 @__fixunsdfti(double) | |
| ; MIPS32-NEXT: declare i64 @__fixunshfdi(half) | |
| ; MIPS32-NEXT: declare i32 @__fixunshfsi(half) | |
| ; MIPS32-NEXT: declare i128 @__fixunshfti(half) | |
| ; MIPS32-NEXT: declare i64 @__fixunssfdi(float) | |
| ; MIPS32-NEXT: declare i32 @__fixunssfsi(float) | |
| ; MIPS32-NEXT: declare i128 @__fixunssfti(float) | |
| ; MIPS32-NEXT: declare i64 @__fixunstfdi(fp128) | |
| ; MIPS32-NEXT: declare i32 @__fixunstfsi(fp128) | |
| ; MIPS32-NEXT: declare i128 @__fixunstfti(fp128) | |
| ; MIPS32-NEXT: declare bfloat @__floatdibf(i64) | |
| ; MIPS32-NEXT: declare double @__floatdidf(i64) | |
| ; MIPS32-NEXT: declare half @__floatdihf(i64) | |
| ; MIPS32-NEXT: declare float @__floatdisf(i64) | |
| ; MIPS32-NEXT: declare fp128 @__floatditf(i64) | |
| ; MIPS32-NEXT: declare double @__floatsidf(i32 signext) | |
| ; MIPS32-NEXT: declare half @__floatsihf(i32 signext) | |
| ; MIPS32-NEXT: declare float @__floatsisf(i32 signext) | |
| ; MIPS32-NEXT: declare fp128 @__floatsitf(i32 signext) | |
| ; MIPS32-NEXT: declare double @__floattidf(i128) | |
| ; MIPS32-NEXT: declare half @__floattihf(i128) | |
| ; MIPS32-NEXT: declare float @__floattisf(i128) | |
| ; MIPS32-NEXT: declare fp128 @__floattitf(i128) | |
| ; MIPS32-NEXT: declare bfloat @__floatundibf(i64) | |
| ; MIPS32-NEXT: declare double @__floatundidf(i64) | |
| ; MIPS32-NEXT: declare half @__floatundihf(i64) | |
| ; MIPS32-NEXT: declare float @__floatundisf(i64) | |
| ; MIPS32-NEXT: declare fp128 @__floatunditf(i64) | |
| ; MIPS32-NEXT: declare double @__floatunsidf(i32 signext) | |
| ; MIPS32-NEXT: declare half @__floatunsihf(i32 signext) | |
| ; MIPS32-NEXT: declare float @__floatunsisf(i32 signext) | |
| ; MIPS32-NEXT: declare fp128 @__floatunsitf(i32 signext) | |
| ; MIPS32-NEXT: declare double @__floatuntidf(i128) | |
| ; MIPS32-NEXT: declare half @__floatuntihf(i128) | |
| ; MIPS32-NEXT: declare float @__floatuntisf(i128) | |
| ; MIPS32-NEXT: declare fp128 @__floatuntitf(i128) | |
| ; MIPS32-NEXT: declare i32 @__gedf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__gesf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__getf2(fp128, fp128) | |
| ; MIPS32-NEXT: declare i32 @__gtdf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__gtsf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__gttf2(fp128, fp128) | |
| ; MIPS32-NEXT: declare i32 @__ledf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__lesf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__letf2(fp128, fp128) | |
| ; MIPS32-NEXT: declare void @__llvm_deoptimize(...) | |
| ; MIPS32-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_1(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_16(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_2(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_4(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_8(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memmove_element_unordered_atomic_1(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memmove_element_unordered_atomic_16(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memmove_element_unordered_atomic_2(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memmove_element_unordered_atomic_4(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memmove_element_unordered_atomic_8(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memset_element_unordered_atomic_1(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memset_element_unordered_atomic_16(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memset_element_unordered_atomic_2(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memset_element_unordered_atomic_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare void @__llvm_memset_element_unordered_atomic_8(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare double @__log10_finite(double) | |
| ; MIPS32-NEXT: declare float @__log10f_finite(float) | |
| ; MIPS32-NEXT: declare double @__log2_finite(double) | |
| ; MIPS32-NEXT: declare float @__log2f_finite(float) | |
| ; MIPS32-NEXT: declare double @__log_finite(double) | |
| ; MIPS32-NEXT: declare float @__logf_finite(float) | |
| ; MIPS32-NEXT: declare i64 @__lshrdi3(i64, i32 signext) | |
| ; MIPS32-NEXT: declare signext i16 @__lshrhi3(i16 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__lshrsi3(i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__ltdf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__ltsf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__lttf2(fp128, fp128) | |
| ; MIPS32-NEXT: declare ptr @__memcpy_chk(ptr, ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare ptr @__memmove_chk(ptr, ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare ptr @__memset_chk(ptr, i32 signext, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare double @__mips16_adddf3(double, double) | |
| ; MIPS32-NEXT: declare float @__mips16_addsf3(float, float) | |
| ; MIPS32-NEXT: declare double @__mips16_divdf3(double, double) | |
| ; MIPS32-NEXT: declare float @__mips16_divsf3(float, float) | |
| ; MIPS32-NEXT: declare i32 @__mips16_eqdf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__mips16_eqsf2(float, float) | |
| ; MIPS32-NEXT: declare double @__mips16_extendsfdf2(float) | |
| ; MIPS32-NEXT: declare i32 @__mips16_fix_truncdfsi(double) | |
| ; MIPS32-NEXT: declare i32 @__mips16_fix_truncsfsi(float) | |
| ; MIPS32-NEXT: declare double @__mips16_floatsidf(i32 signext) | |
| ; MIPS32-NEXT: declare float @__mips16_floatsisf(i32 signext) | |
| ; MIPS32-NEXT: declare double @__mips16_floatunsidf(i32 signext) | |
| ; MIPS32-NEXT: declare float @__mips16_floatunsisf(i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__mips16_gedf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__mips16_gesf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__mips16_gtdf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__mips16_gtsf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__mips16_ledf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__mips16_lesf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__mips16_ltdf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__mips16_ltsf2(float, float) | |
| ; MIPS32-NEXT: declare double @__mips16_muldf3(double, double) | |
| ; MIPS32-NEXT: declare float @__mips16_mulsf3(float, float) | |
| ; MIPS32-NEXT: declare i32 @__mips16_nedf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__mips16_nesf2(float, float) | |
| ; MIPS32-NEXT: declare void @__mips16_ret_dc({ double, double }) | |
| ; MIPS32-NEXT: declare void @__mips16_ret_df(double) | |
| ; MIPS32-NEXT: declare void @__mips16_ret_sc({ float, float }) | |
| ; MIPS32-NEXT: declare void @__mips16_ret_sf(float) | |
| ; MIPS32-NEXT: declare double @__mips16_subdf3(double, double) | |
| ; MIPS32-NEXT: declare float @__mips16_subsf3(float, float) | |
| ; MIPS32-NEXT: declare float @__mips16_truncdfsf2(double) | |
| ; MIPS32-NEXT: declare i32 @__mips16_unorddf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__mips16_unordsf2(float, float) | |
| ; MIPS32-NEXT: declare i64 @__moddi3(i64, i64) | |
| ; MIPS32-NEXT: declare signext i16 @__modhi3(i16 signext, i16 signext) | |
| ; MIPS32-NEXT: declare signext i8 @__modqi3(i8 signext, i8 signext) | |
| ; MIPS32-NEXT: declare i32 @__modsi3(i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__modti3(i128, i128) | |
| ; MIPS32-NEXT: declare double @__muldf3(double, double) | |
| ; MIPS32-NEXT: declare i64 @__muldi3(i64, i64) | |
| ; MIPS32-NEXT: declare signext i16 @__mulhi3(i16 signext, i16 signext) | |
| ; MIPS32-NEXT: declare i32 @__mulosi4(i32 signext, i32 signext, ptr) | |
| ; MIPS32-NEXT: declare signext i8 @__mulqi3(i8 signext, i8 signext) | |
| ; MIPS32-NEXT: declare float @__mulsf3(float, float) | |
| ; MIPS32-NEXT: declare i32 @__mulsi3(i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare fp128 @__multf3(fp128, fp128) | |
| ; MIPS32-NEXT: declare i32 @__nedf2(double, double) | |
| ; MIPS32-NEXT: declare i64 @__negdi2(i64) | |
| ; MIPS32-NEXT: declare i32 @__negsi2(i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__nesf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__netf2(fp128, fp128) | |
| ; MIPS32-NEXT: declare i32 @__popcountdi2(i64) | |
| ; MIPS32-NEXT: declare i32 @__popcountsi2(i32 signext) | |
| ; MIPS32-NEXT: declare i32 @__popcountti2(i128) | |
| ; MIPS32-NEXT: declare double @__pow_finite(double, double) | |
| ; MIPS32-NEXT: declare float @__powf_finite(float, float) | |
| ; MIPS32-NEXT: declare double @__powidf2(double, i32 signext) | |
| ; MIPS32-NEXT: declare float @__powisf2(float, i32 signext) | |
| ; MIPS32-NEXT: declare fp128 @__powitf2(fp128, i32 signext) | |
| ; MIPS32-NEXT: declare void @__stack_chk_fail() | |
| ; MIPS32-NEXT: declare double @__subdf3(double, double) | |
| ; MIPS32-NEXT: declare float @__subsf3(float, float) | |
| ; MIPS32-NEXT: declare fp128 @__subtf3(fp128, fp128) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_add_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_add_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_add_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_add_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_add_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_and_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_and_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_and_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_and_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_and_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_max_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_max_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_max_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_max_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_max_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_min_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_min_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_min_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_min_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_min_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_nand_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_nand_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_nand_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_nand_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_nand_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_or_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_or_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_or_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_or_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_or_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_sub_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_sub_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_sub_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_sub_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_sub_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_umax_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_umax_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_umax_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_umax_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_umax_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_umin_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_umin_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_umin_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_umin_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_umin_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_fetch_and_xor_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_fetch_and_xor_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_fetch_and_xor_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_fetch_and_xor_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_fetch_and_xor_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_lock_test_and_set_1(ptr, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_lock_test_and_set_16(ptr, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_lock_test_and_set_2(ptr, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_lock_test_and_set_4(ptr, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_lock_test_and_set_8(ptr, i64) | |
| ; MIPS32-NEXT: declare zeroext i8 @__sync_val_compare_and_swap_1(ptr, i8 zeroext, i8 zeroext) | |
| ; MIPS32-NEXT: declare i128 @__sync_val_compare_and_swap_16(ptr, i128, i128) | |
| ; MIPS32-NEXT: declare zeroext i16 @__sync_val_compare_and_swap_2(ptr, i16 zeroext, i16 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__sync_val_compare_and_swap_4(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @__sync_val_compare_and_swap_8(ptr, i64, i64) | |
| ; MIPS32-NEXT: declare bfloat @__truncdfbf2(double) | |
| ; MIPS32-NEXT: declare half @__truncdfhf2(double) | |
| ; MIPS32-NEXT: declare float @__truncdfsf2(double) | |
| ; MIPS32-NEXT: declare bfloat @__truncsfbf2(float) | |
| ; MIPS32-NEXT: declare half @__truncsfhf2(float) | |
| ; MIPS32-NEXT: declare bfloat @__trunctfbf2(fp128) | |
| ; MIPS32-NEXT: declare double @__trunctfdf2(fp128) | |
| ; MIPS32-NEXT: declare half @__trunctfhf2(fp128) | |
| ; MIPS32-NEXT: declare float @__trunctfsf2(fp128) | |
| ; MIPS32-NEXT: declare i64 @__udivdi3(i64, i64) | |
| ; MIPS32-NEXT: declare zeroext i16 @__udivhi3(i16 zeroext, i16 zeroext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__udivqi3(i8 zeroext, i8 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__udivsi3(i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__udivti3(i128, i128) | |
| ; MIPS32-NEXT: declare i64 @__umoddi3(i64, i64) | |
| ; MIPS32-NEXT: declare zeroext i16 @__umodhi3(i16 zeroext, i16 zeroext) | |
| ; MIPS32-NEXT: declare zeroext i8 @__umodqi3(i8 zeroext, i8 zeroext) | |
| ; MIPS32-NEXT: declare i32 @__umodsi3(i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare i128 @__umodti3(i128, i128) | |
| ; MIPS32-NEXT: declare i32 @__unorddf2(double, double) | |
| ; MIPS32-NEXT: declare i32 @__unordsf2(float, float) | |
| ; MIPS32-NEXT: declare i32 @__unordtf2(fp128, fp128) | |
| ; MIPS32-NEXT: declare double @acos(double) | |
| ; MIPS32-NEXT: declare float @acosf(float) | |
| ; MIPS32-NEXT: declare double @asin(double) | |
| ; MIPS32-NEXT: declare float @asinf(float) | |
| ; MIPS32-NEXT: declare double @atan(double) | |
| ; MIPS32-NEXT: declare double @atan2(double, double) | |
| ; MIPS32-NEXT: declare float @atan2f(float, float) | |
| ; MIPS32-NEXT: declare float @atanf(float) | |
| ; MIPS32-NEXT: declare void @cabs(...) | |
| ; MIPS32-NEXT: declare void @cabsf(...) | |
| ; MIPS32-NEXT: declare noalias noundef ptr @calloc(i32 noundef, i32 noundef) [[CALLOC_ATTRS:#[0-9]+]] | |
| ; MIPS32-NEXT: declare double @cbrt(double) | |
| ; MIPS32-NEXT: declare float @cbrtf(float) | |
| ; MIPS32-NEXT: declare double @ceil(double) | |
| ; MIPS32-NEXT: declare float @ceilf(float) | |
| ; MIPS32-NEXT: declare double @copysign(double, double) | |
| ; MIPS32-NEXT: declare float @copysignf(float, float) | |
| ; MIPS32-NEXT: declare double @cos(double) | |
| ; MIPS32-NEXT: declare float @cosf(float) | |
| ; MIPS32-NEXT: declare double @cosh(double) | |
| ; MIPS32-NEXT: declare float @coshf(float) | |
| ; MIPS32-NEXT: declare double @exp(double) | |
| ; MIPS32-NEXT: declare double @exp10(double) | |
| ; MIPS32-NEXT: declare float @exp10f(float) | |
| ; MIPS32-NEXT: declare double @exp2(double) | |
| ; MIPS32-NEXT: declare float @exp2f(float) | |
| ; MIPS32-NEXT: declare float @expf(float) | |
| ; MIPS32-NEXT: declare double @fdim(double, double) | |
| ; MIPS32-NEXT: declare float @fdimf(float, float) | |
| ; MIPS32-NEXT: declare i32 @fegetenv(ptr) | |
| ; MIPS32-NEXT: declare i32 @fegetmode(ptr) | |
| ; MIPS32-NEXT: declare i32 @fesetenv(ptr) | |
| ; MIPS32-NEXT: declare i32 @fesetmode(ptr) | |
| ; MIPS32-NEXT: declare double @floor(double) | |
| ; MIPS32-NEXT: declare float @floorf(float) | |
| ; MIPS32-NEXT: declare double @fma(double, double, double) | |
| ; MIPS32-NEXT: declare float @fmaf(float, float, float) | |
| ; MIPS32-NEXT: declare double @fmax(double, double) | |
| ; MIPS32-NEXT: declare float @fmaxf(float, float) | |
| ; MIPS32-NEXT: declare double @fmaximum(double, double) | |
| ; MIPS32-NEXT: declare double @fmaximum_num(double, double) | |
| ; MIPS32-NEXT: declare float @fmaximum_numf(float, float) | |
| ; MIPS32-NEXT: declare float @fmaximumf(float, float) | |
| ; MIPS32-NEXT: declare double @fmin(double, double) | |
| ; MIPS32-NEXT: declare float @fminf(float, float) | |
| ; MIPS32-NEXT: declare double @fminimum(double, double) | |
| ; MIPS32-NEXT: declare double @fminimum_num(double, double) | |
| ; MIPS32-NEXT: declare float @fminimum_numf(float, float) | |
| ; MIPS32-NEXT: declare float @fminimumf(float, float) | |
| ; MIPS32-NEXT: declare double @fmod(double, double) | |
| ; MIPS32-NEXT: declare float @fmodf(float, float) | |
| ; MIPS32-NEXT: declare void @free(ptr allocptr noundef captures(none)) [[FREE_ATTRS:#[0-9]+]] | |
| ; MIPS32-NEXT: declare double @frexp(double, ptr) | |
| ; MIPS32-NEXT: declare float @frexpf(float, ptr) | |
| ; MIPS32-NEXT: declare double @ldexp(double, i32 signext) | |
| ; MIPS32-NEXT: declare float @ldexpf(float, i32 signext) | |
| ; MIPS32-NEXT: declare i64 @llrint(double) | |
| ; MIPS32-NEXT: declare i64 @llrintf(float) | |
| ; MIPS32-NEXT: declare i64 @llround(double) | |
| ; MIPS32-NEXT: declare i64 @llroundf(float) | |
| ; MIPS32-NEXT: declare double @log(double) | |
| ; MIPS32-NEXT: declare double @log10(double) | |
| ; MIPS32-NEXT: declare float @log10f(float) | |
| ; MIPS32-NEXT: declare double @log2(double) | |
| ; MIPS32-NEXT: declare float @log2f(float) | |
| ; MIPS32-NEXT: declare float @logf(float) | |
| ; MIPS32-NEXT: declare i32 @lrint(double) | |
| ; MIPS32-NEXT: declare i32 @lrintf(float) | |
| ; MIPS32-NEXT: declare i32 @lround(double) | |
| ; MIPS32-NEXT: declare i32 @lroundf(float) | |
| ; MIPS32-NEXT: declare noalias noundef ptr @malloc(i32 noundef) [[MALLOC_ATTRS:#[0-9]+]] | |
| ; MIPS32-NEXT: declare ptr @memcpy(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare ptr @memmove(ptr, ptr, i32 signext) | |
| ; MIPS32-NEXT: declare ptr @memset(ptr, i32 signext, i32 signext) | |
| ; MIPS32-NEXT: declare double @modf(double, ptr) | |
| ; MIPS32-NEXT: declare float @modff(float, ptr) | |
| ; MIPS32-NEXT: declare double @nan(ptr) | |
| ; MIPS32-NEXT: declare float @nanf(ptr) | |
| ; MIPS32-NEXT: declare double @nearbyint(double) | |
| ; MIPS32-NEXT: declare float @nearbyintf(float) | |
| ; MIPS32-NEXT: declare double @nexttoward(double, double) | |
| ; MIPS32-NEXT: declare float @nexttowardf(float, double) | |
| ; MIPS32-NEXT: declare double @pow(double, double) | |
| ; MIPS32-NEXT: declare float @powf(float, float) | |
| ; MIPS32-NEXT: declare double @remainder(double, double) | |
| ; MIPS32-NEXT: declare float @remainderf(float, float) | |
| ; MIPS32-NEXT: declare double @remquo(double, double, ptr) | |
| ; MIPS32-NEXT: declare float @remquof(float, float, ptr) | |
| ; MIPS32-NEXT: declare double @rint(double) | |
| ; MIPS32-NEXT: declare float @rintf(float) | |
| ; MIPS32-NEXT: declare double @round(double) | |
| ; MIPS32-NEXT: declare double @roundeven(double) | |
| ; MIPS32-NEXT: declare float @roundevenf(float) | |
| ; MIPS32-NEXT: declare float @roundf(float) | |
| ; MIPS32-NEXT: declare double @scalbln(double, i32 signext) | |
| ; MIPS32-NEXT: declare float @scalblnf(float, i32 signext) | |
| ; MIPS32-NEXT: declare double @scalbn(double, i32 signext) | |
| ; MIPS32-NEXT: declare float @scalbnf(float, i32 signext) | |
| ; MIPS32-NEXT: declare double @sin(double) | |
| ; MIPS32-NEXT: declare void @sincos(double, ptr, ptr) | |
| ; MIPS32-NEXT: declare void @sincosf(float, ptr, ptr) | |
| ; MIPS32-NEXT: declare float @sinf(float) | |
| ; MIPS32-NEXT: declare double @sinh(double) | |
| ; MIPS32-NEXT: declare float @sinhf(float) | |
| ; MIPS32-NEXT: declare nofpclass(ninf nsub nnorm) double @sqrt(double) [[SQRT_ATTRS:#[0-9]+]] | |
| ; MIPS32-NEXT: declare nofpclass(ninf nsub nnorm) float @sqrtf(float) [[SQRT_ATTRS:#[0-9]+]] | |
| ; MIPS32-NEXT: declare double @tan(double) | |
| ; MIPS32-NEXT: declare float @tanf(float) | |
| ; MIPS32-NEXT: declare double @tanh(double) | |
| ; MIPS32-NEXT: declare float @tanhf(float) | |
| ; MIPS32-NEXT: declare double @tgamma(double) | |
| ; MIPS32-NEXT: declare float @tgammaf(float) | |
| ; MIPS32-NEXT: declare double @trunc(double) | |
| ; MIPS32-NEXT: declare float @truncf(float) | |
| ; MIPS32-NEXT: attributes [[CALLOC_ATTRS]] = { nofree nounwind willreturn allockind("alloc") allocsize(0,1) "alloc-family"="malloc" } | |
| ; MIPS32-NEXT: attributes [[FREE_ATTRS]] = { nounwind willreturn allockind("free") "alloc-family"="malloc" } | |
| ; MIPS32-NEXT: attributes [[MALLOC_ATTRS]] = { nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) "alloc-family"="malloc" } | |
| ; MIPS32-NEXT: attributes [[SQRT_ATTRS]] = { nocallback nofree nosync nounwind willreturn memory(errnomem: write) } | |
| ; MIPS64: @__safestack_unsafe_stack_ptr = external thread_local(initialexec) global ptr | |
| ; MIPS64-NEXT: @__stack_chk_guard = external global ptr | |
| ; MIPS64-NEXT: declare i32 @_Unwind_RaiseException(ptr) | |
| ; MIPS64-NEXT: declare void @_Unwind_Resume(ptr) | |
| ; MIPS64-NEXT: declare double @__adddf3(double, double) | |
| ; MIPS64-NEXT: declare float @__addsf3(float, float) | |
| ; MIPS64-NEXT: declare fp128 @__addtf3(fp128, fp128) | |
| ; MIPS64-NEXT: declare i64 @__ashldi3(i64, i32 signext) | |
| ; MIPS64-NEXT: declare signext i16 @__ashlhi3(i16 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__ashlsi3(i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__ashlti3(i128, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__ashrdi3(i64, i32 signext) | |
| ; MIPS64-NEXT: declare signext i16 @__ashrhi3(i16 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__ashrsi3(i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__ashrti3(i128, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i1 @__atomic_compare_exchange(i64, ptr, ptr, ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i1 @__atomic_compare_exchange_1(ptr, ptr, i8 zeroext, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i1 @__atomic_compare_exchange_16(ptr, ptr, i128, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i1 @__atomic_compare_exchange_2(ptr, ptr, i16 zeroext, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i1 @__atomic_compare_exchange_4(ptr, ptr, i32 signext, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i1 @__atomic_compare_exchange_8(ptr, ptr, i64, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare void @__atomic_exchange(i64, ptr, ptr, ptr, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__atomic_exchange_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__atomic_exchange_16(ptr, i128, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i16 @__atomic_exchange_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__atomic_exchange_4(ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__atomic_exchange_8(ptr, i64, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__atomic_fetch_add_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__atomic_fetch_add_16(ptr, i128, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i16 @__atomic_fetch_add_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__atomic_fetch_add_4(ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__atomic_fetch_add_8(ptr, i64, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__atomic_fetch_and_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__atomic_fetch_and_16(ptr, i128, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i16 @__atomic_fetch_and_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__atomic_fetch_and_4(ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__atomic_fetch_and_8(ptr, i64, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__atomic_fetch_nand_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__atomic_fetch_nand_16(ptr, i128, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i16 @__atomic_fetch_nand_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__atomic_fetch_nand_4(ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__atomic_fetch_nand_8(ptr, i64, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__atomic_fetch_or_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__atomic_fetch_or_16(ptr, i128, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i16 @__atomic_fetch_or_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__atomic_fetch_or_4(ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__atomic_fetch_or_8(ptr, i64, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__atomic_fetch_sub_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__atomic_fetch_sub_16(ptr, i128, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i16 @__atomic_fetch_sub_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__atomic_fetch_sub_4(ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__atomic_fetch_sub_8(ptr, i64, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__atomic_fetch_xor_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__atomic_fetch_xor_16(ptr, i128, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i16 @__atomic_fetch_xor_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__atomic_fetch_xor_4(ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__atomic_fetch_xor_8(ptr, i64, i32 signext) | |
| ; MIPS64-NEXT: declare void @__atomic_load(i64, ptr, ptr, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__atomic_load_1(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__atomic_load_16(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare zeroext i16 @__atomic_load_2(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__atomic_load_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__atomic_load_8(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare void @__atomic_store(i64, ptr, ptr, i32 signext) | |
| ; MIPS64-NEXT: declare void @__atomic_store_1(ptr, i8 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare void @__atomic_store_16(ptr, i128, i32 signext) | |
| ; MIPS64-NEXT: declare void @__atomic_store_2(ptr, i16 zeroext, i32 signext) | |
| ; MIPS64-NEXT: declare void @__atomic_store_4(ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare void @__atomic_store_8(ptr, i64, i32 signext) | |
| ; MIPS64-NEXT: declare void @__clear_cache(ptr, ptr) | |
| ; MIPS64-NEXT: declare i32 @__clzdi2(i64) | |
| ; MIPS64-NEXT: declare i32 @__clzsi2(i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__clzti2(i128) | |
| ; MIPS64-NEXT: declare i32 @__ctzdi2(i64) | |
| ; MIPS64-NEXT: declare i32 @__ctzsi2(i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__ctzti2(i128) | |
| ; MIPS64-NEXT: declare void @__cxa_end_cleanup() | |
| ; MIPS64-NEXT: declare double @__divdf3(double, double) | |
| ; MIPS64-NEXT: declare i64 @__divdi3(i64, i64) | |
| ; MIPS64-NEXT: declare signext i16 @__divhi3(i16 signext, i16 signext) | |
| ; MIPS64-NEXT: declare signext i8 @__divqi3(i8 signext, i8 signext) | |
| ; MIPS64-NEXT: declare float @__divsf3(float, float) | |
| ; MIPS64-NEXT: declare i32 @__divsi3(i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare fp128 @__divtf3(fp128, fp128) | |
| ; MIPS64-NEXT: declare i128 @__divti3(i128, i128) | |
| ; MIPS64-NEXT: declare i64 @__eqdf2(double, double) | |
| ; MIPS64-NEXT: declare i64 @__eqsf2(float, float) | |
| ; MIPS64-NEXT: declare i64 @__eqtf2(fp128, fp128) | |
| ; MIPS64-NEXT: declare double @__exp2_finite(double) | |
| ; MIPS64-NEXT: declare float @__exp2f_finite(float) | |
| ; MIPS64-NEXT: declare fp128 @__exp2l_finite(fp128) | |
| ; MIPS64-NEXT: declare double @__exp_finite(double) | |
| ; MIPS64-NEXT: declare float @__expf_finite(float) | |
| ; MIPS64-NEXT: declare fp128 @__expl_finite(fp128) | |
| ; MIPS64-NEXT: declare float @__extendbfsf2(bfloat) | |
| ; MIPS64-NEXT: declare fp128 @__extenddftf2(double) | |
| ; MIPS64-NEXT: declare double @__extendhfdf2(half) | |
| ; MIPS64-NEXT: declare float @__extendhfsf2(half) | |
| ; MIPS64-NEXT: declare fp128 @__extendhftf2(half) | |
| ; MIPS64-NEXT: declare double @__extendsfdf2(float) | |
| ; MIPS64-NEXT: declare fp128 @__extendsftf2(float) | |
| ; MIPS64-NEXT: declare i64 @__fixdfdi(double) | |
| ; MIPS64-NEXT: declare i32 @__fixdfsi(double) | |
| ; MIPS64-NEXT: declare i128 @__fixdfti(double) | |
| ; MIPS64-NEXT: declare i64 @__fixhfdi(half) | |
| ; MIPS64-NEXT: declare i32 @__fixhfsi(half) | |
| ; MIPS64-NEXT: declare i128 @__fixhfti(half) | |
| ; MIPS64-NEXT: declare i64 @__fixsfdi(float) | |
| ; MIPS64-NEXT: declare i32 @__fixsfsi(float) | |
| ; MIPS64-NEXT: declare i128 @__fixsfti(float) | |
| ; MIPS64-NEXT: declare i64 @__fixtfdi(fp128) | |
| ; MIPS64-NEXT: declare i32 @__fixtfsi(fp128) | |
| ; MIPS64-NEXT: declare i128 @__fixtfti(fp128) | |
| ; MIPS64-NEXT: declare i64 @__fixunsdfdi(double) | |
| ; MIPS64-NEXT: declare i32 @__fixunsdfsi(double) | |
| ; MIPS64-NEXT: declare i128 @__fixunsdfti(double) | |
| ; MIPS64-NEXT: declare i64 @__fixunshfdi(half) | |
| ; MIPS64-NEXT: declare i32 @__fixunshfsi(half) | |
| ; MIPS64-NEXT: declare i128 @__fixunshfti(half) | |
| ; MIPS64-NEXT: declare i64 @__fixunssfdi(float) | |
| ; MIPS64-NEXT: declare i32 @__fixunssfsi(float) | |
| ; MIPS64-NEXT: declare i128 @__fixunssfti(float) | |
| ; MIPS64-NEXT: declare i64 @__fixunstfdi(fp128) | |
| ; MIPS64-NEXT: declare i32 @__fixunstfsi(fp128) | |
| ; MIPS64-NEXT: declare i128 @__fixunstfti(fp128) | |
| ; MIPS64-NEXT: declare bfloat @__floatdibf(i64) | |
| ; MIPS64-NEXT: declare double @__floatdidf(i64) | |
| ; MIPS64-NEXT: declare half @__floatdihf(i64) | |
| ; MIPS64-NEXT: declare float @__floatdisf(i64) | |
| ; MIPS64-NEXT: declare fp128 @__floatditf(i64) | |
| ; MIPS64-NEXT: declare double @__floatsidf(i32 signext) | |
| ; MIPS64-NEXT: declare half @__floatsihf(i32 signext) | |
| ; MIPS64-NEXT: declare float @__floatsisf(i32 signext) | |
| ; MIPS64-NEXT: declare fp128 @__floatsitf(i32 signext) | |
| ; MIPS64-NEXT: declare double @__floattidf(i128) | |
| ; MIPS64-NEXT: declare half @__floattihf(i128) | |
| ; MIPS64-NEXT: declare float @__floattisf(i128) | |
| ; MIPS64-NEXT: declare fp128 @__floattitf(i128) | |
| ; MIPS64-NEXT: declare bfloat @__floatundibf(i64) | |
| ; MIPS64-NEXT: declare double @__floatundidf(i64) | |
| ; MIPS64-NEXT: declare half @__floatundihf(i64) | |
| ; MIPS64-NEXT: declare float @__floatundisf(i64) | |
| ; MIPS64-NEXT: declare fp128 @__floatunditf(i64) | |
| ; MIPS64-NEXT: declare double @__floatunsidf(i32 signext) | |
| ; MIPS64-NEXT: declare half @__floatunsihf(i32 signext) | |
| ; MIPS64-NEXT: declare float @__floatunsisf(i32 signext) | |
| ; MIPS64-NEXT: declare fp128 @__floatunsitf(i32 signext) | |
| ; MIPS64-NEXT: declare double @__floatuntidf(i128) | |
| ; MIPS64-NEXT: declare half @__floatuntihf(i128) | |
| ; MIPS64-NEXT: declare float @__floatuntisf(i128) | |
| ; MIPS64-NEXT: declare fp128 @__floatuntitf(i128) | |
| ; MIPS64-NEXT: declare i64 @__gedf2(double, double) | |
| ; MIPS64-NEXT: declare i64 @__gesf2(float, float) | |
| ; MIPS64-NEXT: declare i64 @__getf2(fp128, fp128) | |
| ; MIPS64-NEXT: declare i64 @__gtdf2(double, double) | |
| ; MIPS64-NEXT: declare i64 @__gtsf2(float, float) | |
| ; MIPS64-NEXT: declare i64 @__gttf2(fp128, fp128) | |
| ; MIPS64-NEXT: declare i64 @__ledf2(double, double) | |
| ; MIPS64-NEXT: declare i64 @__lesf2(float, float) | |
| ; MIPS64-NEXT: declare i64 @__letf2(fp128, fp128) | |
| ; MIPS64-NEXT: declare void @__llvm_deoptimize(...) | |
| ; MIPS64-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_1(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_16(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_2(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_4(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memcpy_element_unordered_atomic_8(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memmove_element_unordered_atomic_1(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memmove_element_unordered_atomic_16(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memmove_element_unordered_atomic_2(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memmove_element_unordered_atomic_4(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memmove_element_unordered_atomic_8(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memset_element_unordered_atomic_1(ptr, i32 signext, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memset_element_unordered_atomic_16(ptr, i32 signext, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memset_element_unordered_atomic_2(ptr, i32 signext, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memset_element_unordered_atomic_4(ptr, i32 signext, i64) | |
| ; MIPS64-NEXT: declare void @__llvm_memset_element_unordered_atomic_8(ptr, i32 signext, i64) | |
| ; MIPS64-NEXT: declare double @__log10_finite(double) | |
| ; MIPS64-NEXT: declare float @__log10f_finite(float) | |
| ; MIPS64-NEXT: declare fp128 @__log10l_finite(fp128) | |
| ; MIPS64-NEXT: declare double @__log2_finite(double) | |
| ; MIPS64-NEXT: declare float @__log2f_finite(float) | |
| ; MIPS64-NEXT: declare fp128 @__log2l_finite(fp128) | |
| ; MIPS64-NEXT: declare double @__log_finite(double) | |
| ; MIPS64-NEXT: declare float @__logf_finite(float) | |
| ; MIPS64-NEXT: declare fp128 @__logl_finite(fp128) | |
| ; MIPS64-NEXT: declare i64 @__lshrdi3(i64, i32 signext) | |
| ; MIPS64-NEXT: declare signext i16 @__lshrhi3(i16 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__lshrsi3(i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__lshrti3(i128, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__ltdf2(double, double) | |
| ; MIPS64-NEXT: declare i64 @__ltsf2(float, float) | |
| ; MIPS64-NEXT: declare i64 @__lttf2(fp128, fp128) | |
| ; MIPS64-NEXT: declare ptr @__memcpy_chk(ptr, ptr, i64, i64) | |
| ; MIPS64-NEXT: declare ptr @__memmove_chk(ptr, ptr, i64, i64) | |
| ; MIPS64-NEXT: declare ptr @__memset_chk(ptr, i32 signext, i64, i64) | |
| ; MIPS64-NEXT: declare i64 @__moddi3(i64, i64) | |
| ; MIPS64-NEXT: declare signext i16 @__modhi3(i16 signext, i16 signext) | |
| ; MIPS64-NEXT: declare signext i8 @__modqi3(i8 signext, i8 signext) | |
| ; MIPS64-NEXT: declare i32 @__modsi3(i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__modti3(i128, i128) | |
| ; MIPS64-NEXT: declare double @__muldf3(double, double) | |
| ; MIPS64-NEXT: declare i64 @__muldi3(i64, i64) | |
| ; MIPS64-NEXT: declare signext i16 @__mulhi3(i16 signext, i16 signext) | |
| ; MIPS64-NEXT: declare i32 @__mulosi4(i32 signext, i32 signext, ptr) | |
| ; MIPS64-NEXT: declare signext i8 @__mulqi3(i8 signext, i8 signext) | |
| ; MIPS64-NEXT: declare float @__mulsf3(float, float) | |
| ; MIPS64-NEXT: declare i32 @__mulsi3(i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare fp128 @__multf3(fp128, fp128) | |
| ; MIPS64-NEXT: declare i128 @__multi3(i128, i128) | |
| ; MIPS64-NEXT: declare i64 @__nedf2(double, double) | |
| ; MIPS64-NEXT: declare i64 @__negdi2(i64) | |
| ; MIPS64-NEXT: declare i32 @__negsi2(i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__nesf2(float, float) | |
| ; MIPS64-NEXT: declare i64 @__netf2(fp128, fp128) | |
| ; MIPS64-NEXT: declare i32 @__popcountdi2(i64) | |
| ; MIPS64-NEXT: declare i32 @__popcountsi2(i32 signext) | |
| ; MIPS64-NEXT: declare i32 @__popcountti2(i128) | |
| ; MIPS64-NEXT: declare double @__pow_finite(double, double) | |
| ; MIPS64-NEXT: declare float @__powf_finite(float, float) | |
| ; MIPS64-NEXT: declare double @__powidf2(double, i32 signext) | |
| ; MIPS64-NEXT: declare float @__powisf2(float, i32 signext) | |
| ; MIPS64-NEXT: declare fp128 @__powitf2(fp128, i32 signext) | |
| ; MIPS64-NEXT: declare fp128 @__powl_finite(fp128, fp128) | |
| ; MIPS64-NEXT: declare void @__stack_chk_fail() | |
| ; MIPS64-NEXT: declare double @__subdf3(double, double) | |
| ; MIPS64-NEXT: declare float @__subsf3(float, float) | |
| ; MIPS64-NEXT: declare fp128 @__subtf3(fp128, fp128) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_add_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_add_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_add_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_add_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_add_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_and_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_and_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_and_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_and_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_and_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_max_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_max_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_max_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_max_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_max_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_min_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_min_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_min_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_min_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_min_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_nand_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_nand_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_nand_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_nand_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_nand_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_or_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_or_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_or_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_or_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_or_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_sub_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_sub_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_sub_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_sub_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_sub_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_umax_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_umax_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_umax_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_umax_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_umax_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_umin_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_umin_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_umin_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_umin_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_umin_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_fetch_and_xor_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_fetch_and_xor_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_fetch_and_xor_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_fetch_and_xor_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_fetch_and_xor_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_lock_test_and_set_1(ptr, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_lock_test_and_set_16(ptr, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_lock_test_and_set_2(ptr, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_lock_test_and_set_4(ptr, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_lock_test_and_set_8(ptr, i64) | |
| ; MIPS64-NEXT: declare zeroext i8 @__sync_val_compare_and_swap_1(ptr, i8 zeroext, i8 zeroext) | |
| ; MIPS64-NEXT: declare i128 @__sync_val_compare_and_swap_16(ptr, i128, i128) | |
| ; MIPS64-NEXT: declare zeroext i16 @__sync_val_compare_and_swap_2(ptr, i16 zeroext, i16 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__sync_val_compare_and_swap_4(ptr, i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @__sync_val_compare_and_swap_8(ptr, i64, i64) | |
| ; MIPS64-NEXT: declare bfloat @__truncdfbf2(double) | |
| ; MIPS64-NEXT: declare half @__truncdfhf2(double) | |
| ; MIPS64-NEXT: declare float @__truncdfsf2(double) | |
| ; MIPS64-NEXT: declare bfloat @__truncsfbf2(float) | |
| ; MIPS64-NEXT: declare half @__truncsfhf2(float) | |
| ; MIPS64-NEXT: declare bfloat @__trunctfbf2(fp128) | |
| ; MIPS64-NEXT: declare double @__trunctfdf2(fp128) | |
| ; MIPS64-NEXT: declare half @__trunctfhf2(fp128) | |
| ; MIPS64-NEXT: declare float @__trunctfsf2(fp128) | |
| ; MIPS64-NEXT: declare i64 @__udivdi3(i64, i64) | |
| ; MIPS64-NEXT: declare zeroext i16 @__udivhi3(i16 zeroext, i16 zeroext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__udivqi3(i8 zeroext, i8 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__udivsi3(i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__udivti3(i128, i128) | |
| ; MIPS64-NEXT: declare i64 @__umoddi3(i64, i64) | |
| ; MIPS64-NEXT: declare zeroext i16 @__umodhi3(i16 zeroext, i16 zeroext) | |
| ; MIPS64-NEXT: declare zeroext i8 @__umodqi3(i8 zeroext, i8 zeroext) | |
| ; MIPS64-NEXT: declare i32 @__umodsi3(i32 signext, i32 signext) | |
| ; MIPS64-NEXT: declare i128 @__umodti3(i128, i128) | |
| ; MIPS64-NEXT: declare i64 @__unorddf2(double, double) | |
| ; MIPS64-NEXT: declare i64 @__unordsf2(float, float) | |
| ; MIPS64-NEXT: declare i64 @__unordtf2(fp128, fp128) | |
| ; MIPS64-NEXT: declare double @acos(double) | |
| ; MIPS64-NEXT: declare float @acosf(float) | |
| ; MIPS64-NEXT: declare fp128 @acosl(fp128) | |
| ; MIPS64-NEXT: declare double @asin(double) | |
| ; MIPS64-NEXT: declare float @asinf(float) | |
| ; MIPS64-NEXT: declare fp128 @asinl(fp128) | |
| ; MIPS64-NEXT: declare double @atan(double) | |
| ; MIPS64-NEXT: declare double @atan2(double, double) | |
| ; MIPS64-NEXT: declare float @atan2f(float, float) | |
| ; MIPS64-NEXT: declare fp128 @atan2l(fp128, fp128) | |
| ; MIPS64-NEXT: declare float @atanf(float) | |
| ; MIPS64-NEXT: declare fp128 @atanl(fp128) | |
| ; MIPS64-NEXT: declare void @cabs(...) | |
| ; MIPS64-NEXT: declare void @cabsf(...) | |
| ; MIPS64-NEXT: declare void @cabsl(...) | |
| ; MIPS64-NEXT: declare noalias noundef ptr @calloc(i64 noundef, i64 noundef) [[CALLOC_ATTRS:#[0-9]+]] | |
| ; MIPS64-NEXT: declare double @cbrt(double) | |
| ; MIPS64-NEXT: declare float @cbrtf(float) | |
| ; MIPS64-NEXT: declare fp128 @cbrtl(fp128) | |
| ; MIPS64-NEXT: declare double @ceil(double) | |
| ; MIPS64-NEXT: declare float @ceilf(float) | |
| ; MIPS64-NEXT: declare fp128 @ceill(fp128) | |
| ; MIPS64-NEXT: declare double @copysign(double, double) | |
| ; MIPS64-NEXT: declare float @copysignf(float, float) | |
| ; MIPS64-NEXT: declare fp128 @copysignl(fp128, fp128) | |
| ; MIPS64-NEXT: declare double @cos(double) | |
| ; MIPS64-NEXT: declare float @cosf(float) | |
| ; MIPS64-NEXT: declare double @cosh(double) | |
| ; MIPS64-NEXT: declare float @coshf(float) | |
| ; MIPS64-NEXT: declare fp128 @coshl(fp128) | |
| ; MIPS64-NEXT: declare fp128 @cosl(fp128) | |
| ; MIPS64-NEXT: declare double @exp(double) | |
| ; MIPS64-NEXT: declare double @exp10(double) | |
| ; MIPS64-NEXT: declare float @exp10f(float) | |
| ; MIPS64-NEXT: declare fp128 @exp10l(fp128) | |
| ; MIPS64-NEXT: declare double @exp2(double) | |
| ; MIPS64-NEXT: declare float @exp2f(float) | |
| ; MIPS64-NEXT: declare fp128 @exp2l(fp128) | |
| ; MIPS64-NEXT: declare float @expf(float) | |
| ; MIPS64-NEXT: declare fp128 @expl(fp128) | |
| ; MIPS64-NEXT: declare double @fdim(double, double) | |
| ; MIPS64-NEXT: declare float @fdimf(float, float) | |
| ; MIPS64-NEXT: declare fp128 @fdiml(fp128, fp128) | |
| ; MIPS64-NEXT: declare i32 @fegetenv(ptr) | |
| ; MIPS64-NEXT: declare i32 @fegetmode(ptr) | |
| ; MIPS64-NEXT: declare i32 @fesetenv(ptr) | |
| ; MIPS64-NEXT: declare i32 @fesetmode(ptr) | |
| ; MIPS64-NEXT: declare double @floor(double) | |
| ; MIPS64-NEXT: declare float @floorf(float) | |
| ; MIPS64-NEXT: declare fp128 @floorl(fp128) | |
| ; MIPS64-NEXT: declare double @fma(double, double, double) | |
| ; MIPS64-NEXT: declare float @fmaf(float, float, float) | |
| ; MIPS64-NEXT: declare fp128 @fmal(fp128, fp128, fp128) | |
| ; MIPS64-NEXT: declare double @fmax(double, double) | |
| ; MIPS64-NEXT: declare float @fmaxf(float, float) | |
| ; MIPS64-NEXT: declare double @fmaximum(double, double) | |
| ; MIPS64-NEXT: declare double @fmaximum_num(double, double) | |
| ; MIPS64-NEXT: declare float @fmaximum_numf(float, float) | |
| ; MIPS64-NEXT: declare fp128 @fmaximum_numl(fp128, fp128) | |
| ; MIPS64-NEXT: declare float @fmaximumf(float, float) | |
| ; MIPS64-NEXT: declare fp128 @fmaximuml(fp128, fp128) | |
| ; MIPS64-NEXT: declare fp128 @fmaxl(fp128, fp128) | |
| ; MIPS64-NEXT: declare double @fmin(double, double) | |
| ; MIPS64-NEXT: declare float @fminf(float, float) | |
| ; MIPS64-NEXT: declare double @fminimum(double, double) | |
| ; MIPS64-NEXT: declare double @fminimum_num(double, double) | |
| ; MIPS64-NEXT: declare float @fminimum_numf(float, float) | |
| ; MIPS64-NEXT: declare fp128 @fminimum_numl(fp128, fp128) | |
| ; MIPS64-NEXT: declare float @fminimumf(float, float) | |
| ; MIPS64-NEXT: declare fp128 @fminimuml(fp128, fp128) | |
| ; MIPS64-NEXT: declare fp128 @fminl(fp128, fp128) | |
| ; MIPS64-NEXT: declare double @fmod(double, double) | |
| ; MIPS64-NEXT: declare float @fmodf(float, float) | |
| ; MIPS64-NEXT: declare fp128 @fmodl(fp128, fp128) | |
| ; MIPS64-NEXT: declare void @free(ptr allocptr noundef captures(none)) [[FREE_ATTRS:#[0-9]+]] | |
| ; MIPS64-NEXT: declare double @frexp(double, ptr) | |
| ; MIPS64-NEXT: declare float @frexpf(float, ptr) | |
| ; MIPS64-NEXT: declare fp128 @frexpl(fp128, ptr) | |
| ; MIPS64-NEXT: declare double @ldexp(double, i32 signext) | |
| ; MIPS64-NEXT: declare float @ldexpf(float, i32 signext) | |
| ; MIPS64-NEXT: declare fp128 @ldexpl(fp128, i32 signext) | |
| ; MIPS64-NEXT: declare i64 @llrint(double) | |
| ; MIPS64-NEXT: declare i64 @llrintf(float) | |
| ; MIPS64-NEXT: declare i64 @llrintl(fp128) | |
| ; MIPS64-NEXT: declare i64 @llround(double) | |
| ; MIPS64-NEXT: declare i64 @llroundf(float) | |
| ; MIPS64-NEXT: declare i64 @llroundl(fp128) | |
| ; MIPS64-NEXT: declare double @log(double) | |
| ; MIPS64-NEXT: declare double @log10(double) | |
| ; MIPS64-NEXT: declare float @log10f(float) | |
| ; MIPS64-NEXT: declare fp128 @log10l(fp128) | |
| ; MIPS64-NEXT: declare double @log2(double) | |
| ; MIPS64-NEXT: declare float @log2f(float) | |
| ; MIPS64-NEXT: declare fp128 @log2l(fp128) | |
| ; MIPS64-NEXT: declare float @logf(float) | |
| ; MIPS64-NEXT: declare fp128 @logl(fp128) | |
| ; MIPS64-NEXT: declare i64 @lrint(double) | |
| ; MIPS64-NEXT: declare i64 @lrintf(float) | |
| ; MIPS64-NEXT: declare i64 @lrintl(fp128) | |
| ; MIPS64-NEXT: declare i64 @lround(double) | |
| ; MIPS64-NEXT: declare i64 @lroundf(float) | |
| ; MIPS64-NEXT: declare i64 @lroundl(fp128) | |
| ; MIPS64-NEXT: declare noalias noundef ptr @malloc(i64 noundef) [[MALLOC_ATTRS:#[0-9]+]] | |
| ; MIPS64-NEXT: declare ptr @memcpy(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare ptr @memmove(ptr, ptr, i64) | |
| ; MIPS64-NEXT: declare ptr @memset(ptr, i32 signext, i64) | |
| ; MIPS64-NEXT: declare double @modf(double, ptr) | |
| ; MIPS64-NEXT: declare float @modff(float, ptr) | |
| ; MIPS64-NEXT: declare fp128 @modfl(fp128, ptr) | |
| ; MIPS64-NEXT: declare double @nan(ptr) | |
| ; MIPS64-NEXT: declare float @nanf(ptr) | |
| ; MIPS64-NEXT: declare fp128 @nanl(ptr) | |
| ; MIPS64-NEXT: declare double @nearbyint(double) | |
| ; MIPS64-NEXT: declare float @nearbyintf(float) | |
| ; MIPS64-NEXT: declare fp128 @nearbyintl(fp128) | |
| ; MIPS64-NEXT: declare double @nexttoward(double, fp128) | |
| ; MIPS64-NEXT: declare float @nexttowardf(float, fp128) | |
| ; MIPS64-NEXT: declare fp128 @nexttowardl(fp128, fp128) | |
| ; MIPS64-NEXT: declare double @pow(double, double) | |
| ; MIPS64-NEXT: declare float @powf(float, float) | |
| ; MIPS64-NEXT: declare fp128 @powl(fp128, fp128) | |
| ; MIPS64-NEXT: declare double @remainder(double, double) | |
| ; MIPS64-NEXT: declare float @remainderf(float, float) | |
| ; MIPS64-NEXT: declare fp128 @remainderl(fp128, fp128) | |
| ; MIPS64-NEXT: declare double @remquo(double, double, ptr) | |
| ; MIPS64-NEXT: declare float @remquof(float, float, ptr) | |
| ; MIPS64-NEXT: declare fp128 @remquol(fp128, fp128, ptr) | |
| ; MIPS64-NEXT: declare double @rint(double) | |
| ; MIPS64-NEXT: declare float @rintf(float) | |
| ; MIPS64-NEXT: declare fp128 @rintl(fp128) | |
| ; MIPS64-NEXT: declare double @round(double) | |
| ; MIPS64-NEXT: declare double @roundeven(double) | |
| ; MIPS64-NEXT: declare float @roundevenf(float) | |
| ; MIPS64-NEXT: declare fp128 @roundevenl(fp128) | |
| ; MIPS64-NEXT: declare float @roundf(float) | |
| ; MIPS64-NEXT: declare fp128 @roundl(fp128) | |
| ; MIPS64-NEXT: declare double @scalbln(double, i64) | |
| ; MIPS64-NEXT: declare float @scalblnf(float, i64) | |
| ; MIPS64-NEXT: declare fp128 @scalblnl(fp128, i64) | |
| ; MIPS64-NEXT: declare double @scalbn(double, i32 signext) | |
| ; MIPS64-NEXT: declare float @scalbnf(float, i32 signext) | |
| ; MIPS64-NEXT: declare fp128 @scalbnl(fp128, i32 signext) | |
| ; MIPS64-NEXT: declare double @sin(double) | |
| ; MIPS64-NEXT: declare void @sincos(double, ptr, ptr) | |
| ; MIPS64-NEXT: declare void @sincosf(float, ptr, ptr) | |
| ; MIPS64-NEXT: declare void @sincosl(fp128, ptr, ptr) | |
| ; MIPS64-NEXT: declare float @sinf(float) | |
| ; MIPS64-NEXT: declare double @sinh(double) | |
| ; MIPS64-NEXT: declare float @sinhf(float) | |
| ; MIPS64-NEXT: declare fp128 @sinhl(fp128) | |
| ; MIPS64-NEXT: declare fp128 @sinl(fp128) | |
| ; MIPS64-NEXT: declare nofpclass(ninf nsub nnorm) double @sqrt(double) [[SQRT_ATTRS:#[0-9]+]] | |
| ; MIPS64-NEXT: declare nofpclass(ninf nsub nnorm) float @sqrtf(float) [[SQRT_ATTRS:#[0-9]+]] | |
| ; MIPS64-NEXT: declare fp128 @sqrtl(fp128) | |
| ; MIPS64-NEXT: declare double @tan(double) | |
| ; MIPS64-NEXT: declare float @tanf(float) | |
| ; MIPS64-NEXT: declare double @tanh(double) | |
| ; MIPS64-NEXT: declare float @tanhf(float) | |
| ; MIPS64-NEXT: declare fp128 @tanhl(fp128) | |
| ; MIPS64-NEXT: declare fp128 @tanl(fp128) | |
| ; MIPS64-NEXT: declare double @tgamma(double) | |
| ; MIPS64-NEXT: declare float @tgammaf(float) | |
| ; MIPS64-NEXT: declare fp128 @tgammal(fp128) | |
| ; MIPS64-NEXT: declare double @trunc(double) | |
| ; MIPS64-NEXT: declare float @truncf(float) | |
| ; MIPS64-NEXT: declare fp128 @truncl(fp128) | |
| ; MIPS64-NEXT: attributes [[CALLOC_ATTRS]] = { nofree nounwind willreturn allockind("alloc") allocsize(0,1) "alloc-family"="malloc" } | |
| ; MIPS64-NEXT: attributes [[FREE_ATTRS]] = { nounwind willreturn allockind("free") "alloc-family"="malloc" } | |
| ; MIPS64-NEXT: attributes [[MALLOC_ATTRS]] = { nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) "alloc-family"="malloc" } | |
| ; MIPS64-NEXT: attributes [[SQRT_ATTRS]] = { nocallback nofree nosync nounwind willreturn memory(errnomem: write) } |