summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGBuiltin.cpp
diff options
context:
space:
mode:
authorKevin Qin <Kevin.Qin@arm.com>2014-01-23 03:42:06 +0000
committerKevin Qin <Kevin.Qin@arm.com>2014-01-23 03:42:06 +0000
commitce1f0e85bac46697c24d04d6fcd2ec18999e2a44 (patch)
tree365d8590c5376145f681a816a830eda6fa2173d9 /clang/lib/CodeGen/CGBuiltin.cpp
parentbe614c735c136bb25c66b6d65079de12477cb91e (diff)
downloadbcm5719-llvm-ce1f0e85bac46697c24d04d6fcd2ec18999e2a44.tar.gz
bcm5719-llvm-ce1f0e85bac46697c24d04d6fcd2ec18999e2a44.zip
[AArch64 NEON] Fix a bug about vcles_f32 and vcled_f64.
As vcles_f32() and vcled_f64 are implemented by FCMGE, operands should make a swap. llvm-svn: 199866
Diffstat (limited to 'clang/lib/CodeGen/CGBuiltin.cpp')
-rw-r--r--clang/lib/CodeGen/CGBuiltin.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp
index 267dea069e7..103fe3f5406 100644
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/lib/CodeGen/CGBuiltin.cpp
@@ -2305,6 +2305,7 @@ static Value *EmitAArch64ScalarBuiltinExpr(CodeGenFunction &CGF,
case AArch64::BI__builtin_neon_vcles_f32:
case AArch64::BI__builtin_neon_vcled_f64:
Int = Intrinsic::aarch64_neon_fcge; s = "vcge";
+ std::swap(Ops[0], Ops[1]);
IntTypes = VectorRet | ScalarArg0 | ScalarArg1; break;
// Scalar Floating-point Compare Less Than Or Equal To Zero
case AArch64::BI__builtin_neon_vclezs_f32:
OpenPOWER on IntegriCloud