Patch by: Moritz Roth
llvm-svn: 212264
__qsub(int32_t t, int32_t v) {
return __builtin_arm_qsub(t, v);
}
+
+static __inline__ int32_t __attribute__((always_inline, nodebug))
+__qdbl(int32_t t) {
+ return __builtin_arm_qadd(t, t);
+}
#endif
/* CRC32 intrinsics */
int32_t test_qsub(int32_t a, int32_t b) {
return __qsub(a, b);
}
+
+extern int32_t f();
+// AArch32-LABEL: test_qdbl
+// AArch32: [[VAR:%[a-z0-9]+]] = {{.*}} call {{.*}} @f
+// AArch32-NOT: call {{.*}} @f
+// AArch32: call i32 @llvm.arm.qadd(i32 [[VAR]], i32 [[VAR]])
+int32_t test_qdbl() {
+ return __qdbl(f());
+}
#endif
/* CRC32 intrinsics */