diff options
author | Nate Begeman <natebegeman@mac.com> | 2010-08-03 21:31:55 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2010-08-03 21:31:55 +0000 |
commit | d1fb583128c6682bb8a7c74eafa810a9270cc8df (patch) | |
tree | d009b76a09bad20fb173a61081cecd9a4ac8cb6a /include/llvm/IntrinsicsARM.td | |
parent | 6fc24467e91a2c515fa5347e90071573c454bcca (diff) | |
download | external_llvm-d1fb583128c6682bb8a7c74eafa810a9270cc8df.zip external_llvm-d1fb583128c6682bb8a7c74eafa810a9270cc8df.tar.gz external_llvm-d1fb583128c6682bb8a7c74eafa810a9270cc8df.tar.bz2 |
Add support for getting & setting the FPSCR application register on ARM when VFP is enabled.
Add support for using the FPSCR in conjunction with the vcvtr instruction, for controlling fp to int rounding.
Add support for the FLT_ROUNDS_ node now that the FPSCR is exposed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110152 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/IntrinsicsARM.td')
-rw-r--r-- | include/llvm/IntrinsicsARM.td | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/llvm/IntrinsicsARM.td b/include/llvm/IntrinsicsARM.td index 7e909b7..2589de2 100644 --- a/include/llvm/IntrinsicsARM.td +++ b/include/llvm/IntrinsicsARM.td @@ -36,6 +36,20 @@ let TargetPrefix = "arm" in { // All intrinsics start with "llvm.arm.". } //===----------------------------------------------------------------------===// +// VFP + +let TargetPrefix = "arm" in { // All intrinsics start with "llvm.arm.". + def int_arm_get_fpscr : GCCBuiltin<"__builtin_arm_get_fpscr">, + Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>; + def int_arm_set_fpscr : GCCBuiltin<"__builtin_arm_set_fpscr">, + Intrinsic<[], [llvm_i32_ty], [IntrWriteMem]>; + def int_arm_vcvtr : Intrinsic<[llvm_float_ty], [llvm_anyfloat_ty], + [IntrNoMem]>; + def int_arm_vcvtru : Intrinsic<[llvm_float_ty], [llvm_anyfloat_ty], + [IntrNoMem]>; +} + +//===----------------------------------------------------------------------===// // Advanced SIMD (NEON) let TargetPrefix = "arm" in { // All intrinsics start with "llvm.arm.". |