Skip to content

Commit aa7084f

Browse files
committed
[AArch64][Clang] Fixed to use __builtin_roundeven
Change-Id: Ibfe830cf69e3ea10f68f651e5a5d507769792496
1 parent 6fd8cfd commit aa7084f

File tree

3 files changed

+2
-13
lines changed

3 files changed

+2
-13
lines changed

clang/include/clang/Basic/BuiltinsAArch64.def

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,6 @@ BUILTIN(__builtin_arm_tcommit, "v", "n")
110110
BUILTIN(__builtin_arm_tcancel, "vWUIi", "n")
111111
BUILTIN(__builtin_arm_ttest, "WUi", "nc")
112112

113-
// Floating point round to integral intrinsics
114-
BUILTIN(__builtin_arm_rintn, "dd", "g")
115-
BUILTIN(__builtin_arm_rintnf, "ff", "g")
116-
117113
// Armv8.5-A FP rounding intrinsics
118114
TARGET_BUILTIN(__builtin_arm_rint32zf, "ff", "", "v8.5a")
119115
TARGET_BUILTIN(__builtin_arm_rint32z, "dd", "", "v8.5a")

clang/lib/CodeGen/CGBuiltin.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10219,13 +10219,6 @@ Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID,
1021910219
"cls");
1022010220
}
1022110221

10222-
if (BuiltinID == clang::AArch64::BI__builtin_arm_rintn ||
10223-
BuiltinID == clang::AArch64::BI__builtin_arm_rintnf) {
10224-
llvm::Value *Arg = EmitScalarExpr(E->getArg(0));
10225-
return Builder.CreateCall(
10226-
CGM.getIntrinsic(Intrinsic::roundeven, Arg->getType()), Arg, "rintn");
10227-
}
10228-
1022910222
if (BuiltinID == clang::AArch64::BI__builtin_arm_rint32zf ||
1023010223
BuiltinID == clang::AArch64::BI__builtin_arm_rint32z) {
1023110224
llvm::Value *Arg = EmitScalarExpr(E->getArg(0));

clang/lib/Headers/arm_acle.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -598,12 +598,12 @@ __smusdx(int16x2_t __a, int16x2_t __b) {
598598
(defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE)
599599
static __inline__ double __attribute__((__always_inline__, __nodebug__))
600600
__rintn(double __a) {
601-
return __builtin_arm_rintn(__a);
601+
return __builtin_roundeven(__a);
602602
}
603603

604604
static __inline__ float __attribute__((__always_inline__, __nodebug__))
605605
__rintnf(float __a) {
606-
return __builtin_arm_rintnf(__a);
606+
return __builtin_roundevenf(__a);
607607
}
608608
#endif
609609

0 commit comments

Comments
 (0)