[PATCH] D40888: [ARM] ACLE parallel arithmetic and DSP style multiplications

Sjoerd Meijer via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 6 06:10:30 PST 2017


SjoerdMeijer added inline comments.


================
Comment at: include/clang/Basic/BuiltinsARM.def:39
 BUILTIN(__builtin_arm_qsub, "iii", "nc")
+BUILTIN(__builtin_arm_qdbl, "ii", "nc")
 BUILTIN(__builtin_arm_ssat, "iiUi", "nc")
----------------
samparker wrote:
> Do we now need a codegen tests for this one?
It's there already. 


================
Comment at: test/Sema/builtins-arm.c:161
+  r = __builtin_arm_smulwt(-1, -2);
+  r = __builtin_arm_smulwt(-1.0f, -2);
+}
----------------
samparker wrote:
> Interesting that this doesn't give an error?
No, was just playing a little bit with "6.3.1.4  Real floating and integer" conversions here: "When a finite value of real floating type is converted to an integer type other than_Bool, the fractional part is discarded ... "


================
Comment at: test/Sema/builtins-arm.c:236
+  y = __builtin_arm_uxtab16(c, d);
+  y = __builtin_arm_uxtab16(-1, -2);
+  y = __builtin_arm_uxtb16(d);
----------------
samparker wrote:
> Can / should we warn the user when using signed arguments? Looks like I missed the unsigned qualifiers in the original patch.
Similarly, was playing a little bit with implicit conversions here: -1 is converted to unsigned. So, it's ok.


https://reviews.llvm.org/D40888





More information about the cfe-commits mailing list