[X86] Mark all x86 specific builtins as nothrow.
I believe all of the x86 builtins should be considered nothrow. I've left the incssp builtins alone because I think its current attributes are wrong and I'm following up with the contributor for that. I plan to start adding const as well, but that requires more careful auditing. Differential Revision: https://reviews.llvm.org/D46328 llvm-svn: 331399
This commit is contained in:
parent
beb393126b
commit
b374bca7eb
File diff suppressed because it is too large
Load Diff
|
@ -44,57 +44,57 @@ TARGET_HEADER_BUILTIN(_InterlockedCompareExchange128, "UcLLiD*LLiLLiLLi*", "nh",
|
|||
|
||||
TARGET_BUILTIN(__builtin_ia32_readeflags_u64, "ULLi", "n", "")
|
||||
TARGET_BUILTIN(__builtin_ia32_writeeflags_u64, "vULLi", "n", "")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtss2si64, "LLiV4f", "", "sse")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvttss2si64, "LLiV4f", "", "sse")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtsd2si64, "LLiV2d", "", "sse2")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvttsd2si64, "LLiV2d", "", "sse2")
|
||||
TARGET_BUILTIN(__builtin_ia32_movnti64, "vLLi*LLi", "", "sse2")
|
||||
TARGET_BUILTIN(__builtin_ia32_crc32di, "ULLiULLiULLi", "", "sse4.2")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdfsbase32, "Ui", "", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdfsbase64, "ULLi", "", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdgsbase32, "Ui", "", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdgsbase64, "ULLi", "", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrfsbase32, "vUi", "", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrfsbase64, "vULLi", "", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrgsbase32, "vUi", "", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrgsbase64, "vULLi", "", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_fxrstor64, "vv*", "", "fxsr")
|
||||
TARGET_BUILTIN(__builtin_ia32_fxsave64, "vv*", "", "fxsr")
|
||||
TARGET_BUILTIN(__builtin_ia32_xsave64, "vv*ULLi", "", "xsave")
|
||||
TARGET_BUILTIN(__builtin_ia32_xrstor64, "vv*ULLi", "", "xsave")
|
||||
TARGET_BUILTIN(__builtin_ia32_xsaveopt64, "vv*ULLi", "", "xsaveopt")
|
||||
TARGET_BUILTIN(__builtin_ia32_xrstors64, "vv*ULLi", "", "xsaves")
|
||||
TARGET_BUILTIN(__builtin_ia32_xsavec64, "vv*ULLi", "", "xsavec")
|
||||
TARGET_BUILTIN(__builtin_ia32_xsaves64, "vv*ULLi", "", "xsaves")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtss2si64, "LLiV4f", "n", "sse")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvttss2si64, "LLiV4f", "n", "sse")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtsd2si64, "LLiV2d", "n", "sse2")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvttsd2si64, "LLiV2d", "n", "sse2")
|
||||
TARGET_BUILTIN(__builtin_ia32_movnti64, "vLLi*LLi", "n", "sse2")
|
||||
TARGET_BUILTIN(__builtin_ia32_crc32di, "ULLiULLiULLi", "n", "sse4.2")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdfsbase32, "Ui", "n", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdfsbase64, "ULLi", "n", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdgsbase32, "Ui", "n", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdgsbase64, "ULLi", "n", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrfsbase32, "vUi", "n", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrfsbase64, "vULLi", "n", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrgsbase32, "vUi", "n", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrgsbase64, "vULLi", "n", "fsgsbase")
|
||||
TARGET_BUILTIN(__builtin_ia32_fxrstor64, "vv*", "n", "fxsr")
|
||||
TARGET_BUILTIN(__builtin_ia32_fxsave64, "vv*", "n", "fxsr")
|
||||
TARGET_BUILTIN(__builtin_ia32_xsave64, "vv*ULLi", "n", "xsave")
|
||||
TARGET_BUILTIN(__builtin_ia32_xrstor64, "vv*ULLi", "n", "xsave")
|
||||
TARGET_BUILTIN(__builtin_ia32_xsaveopt64, "vv*ULLi", "n", "xsaveopt")
|
||||
TARGET_BUILTIN(__builtin_ia32_xrstors64, "vv*ULLi", "n", "xsaves")
|
||||
TARGET_BUILTIN(__builtin_ia32_xsavec64, "vv*ULLi", "n", "xsavec")
|
||||
TARGET_BUILTIN(__builtin_ia32_xsaves64, "vv*ULLi", "n", "xsaves")
|
||||
TARGET_BUILTIN(__builtin_ia32_incsspq, "vULLi", "u", "shstk")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdsspq, "ULLiULLi", "Un", "shstk")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrssq, "vULLiv*", "", "shstk")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrussq, "vULLiv*", "", "shstk")
|
||||
TARGET_BUILTIN(__builtin_ia32_addcarryx_u64, "UcUcULLiULLiULLi*", "", "adx")
|
||||
TARGET_BUILTIN(__builtin_ia32_addcarry_u64, "UcUcULLiULLiULLi*", "", "")
|
||||
TARGET_BUILTIN(__builtin_ia32_subborrow_u64, "UcUcULLiULLiULLi*", "", "")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdrand64_step, "UiULLi*", "", "rdrnd")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdseed64_step, "UiULLi*", "", "rdseed")
|
||||
TARGET_BUILTIN(__builtin_ia32_bextr_u64, "ULLiULLiULLi", "", "bmi")
|
||||
TARGET_BUILTIN(__builtin_ia32_bzhi_di, "ULLiULLiULLi", "", "bmi2")
|
||||
TARGET_BUILTIN(__builtin_ia32_pdep_di, "ULLiULLiULLi", "", "bmi2")
|
||||
TARGET_BUILTIN(__builtin_ia32_pext_di, "ULLiULLiULLi", "", "bmi2")
|
||||
TARGET_BUILTIN(__builtin_ia32_bextri_u64, "ULLiULLiIULLi", "", "tbm")
|
||||
TARGET_BUILTIN(__builtin_ia32_lwpins64, "UcULLiUiUi", "", "lwp")
|
||||
TARGET_BUILTIN(__builtin_ia32_lwpval64, "vULLiUiUi", "", "lwp")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvtsd2si64, "LLiV2dIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvtsd2usi64, "ULLiV2dIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvtss2si64, "LLiV4fIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvtss2usi64, "ULLiV4fIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvttsd2si64, "LLiV2dIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvttsd2usi64, "ULLiV2dIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvttss2si64, "LLiV4fIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvttss2usi64, "ULLiV4fIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtsi2sd64, "V2dV2dLLiIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtsi2ss64, "V4fV4fLLiIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtusi2sd64, "V2dV2dULLiIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtusi2ss64, "V4fV4fULLiIi","","avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_directstore_u64, "vULi*ULi", "", "movdiri")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrssq, "vULLiv*", "n", "shstk")
|
||||
TARGET_BUILTIN(__builtin_ia32_wrussq, "vULLiv*", "n", "shstk")
|
||||
TARGET_BUILTIN(__builtin_ia32_addcarryx_u64, "UcUcULLiULLiULLi*", "n", "adx")
|
||||
TARGET_BUILTIN(__builtin_ia32_addcarry_u64, "UcUcULLiULLiULLi*", "n", "")
|
||||
TARGET_BUILTIN(__builtin_ia32_subborrow_u64, "UcUcULLiULLiULLi*", "n", "")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdrand64_step, "UiULLi*", "n", "rdrnd")
|
||||
TARGET_BUILTIN(__builtin_ia32_rdseed64_step, "UiULLi*", "n", "rdseed")
|
||||
TARGET_BUILTIN(__builtin_ia32_bextr_u64, "ULLiULLiULLi", "n", "bmi")
|
||||
TARGET_BUILTIN(__builtin_ia32_bzhi_di, "ULLiULLiULLi", "n", "bmi2")
|
||||
TARGET_BUILTIN(__builtin_ia32_pdep_di, "ULLiULLiULLi", "n", "bmi2")
|
||||
TARGET_BUILTIN(__builtin_ia32_pext_di, "ULLiULLiULLi", "n", "bmi2")
|
||||
TARGET_BUILTIN(__builtin_ia32_bextri_u64, "ULLiULLiIULLi", "n", "tbm")
|
||||
TARGET_BUILTIN(__builtin_ia32_lwpins64, "UcULLiUiUi", "n", "lwp")
|
||||
TARGET_BUILTIN(__builtin_ia32_lwpval64, "vULLiUiUi", "n", "lwp")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvtsd2si64, "LLiV2dIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvtsd2usi64, "ULLiV2dIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvtss2si64, "LLiV4fIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvtss2usi64, "ULLiV4fIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvttsd2si64, "LLiV2dIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvttsd2usi64, "ULLiV2dIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvttss2si64, "LLiV4fIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_vcvttss2usi64, "ULLiV4fIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtsi2sd64, "V2dV2dLLiIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtsi2ss64, "V4fV4fLLiIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtusi2sd64, "V2dV2dULLiIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_cvtusi2ss64, "V4fV4fULLiIi", "n", "avx512f")
|
||||
TARGET_BUILTIN(__builtin_ia32_directstore_u64, "vULi*ULi", "n", "movdiri")
|
||||
|
||||
#undef BUILTIN
|
||||
#undef TARGET_BUILTIN
|
||||
|
|
Loading…
Reference in New Issue