[PATCH] D55787: [X86] Use UADDSAT/USUBSAT instead of ADDUS/SUBUS

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 17 16:26:43 PST 2018


craig.topper added inline comments.


================
Comment at: test/CodeGen/X86/uadd_sat_vec.ll:614
+;
+; AVX512-LABEL: v16i1:
+; AVX512:       # %bb.0:
----------------
nikic wrote:
> This expansion is pretty crazy...
Yeah I wouldn't expect vXi1 to be good, but this is even worse than I imagined. Its definitely being scalarized and then promoted. But the scalarization looks weird. But I'm not sure how much we care.

We can pretty easily replace with vXi1 ADDUSAT with OR X,Y and SUBUSAT with X & ~Y if we care.


================
Comment at: test/CodeGen/X86/uadd_sat_vec.ll:619
+; AVX512-NEXT:    pushq %r15
+; AVX512-NEXT:    .cfi_def_cfa_offset 24
+; AVX512-NEXT:    pushq %r14
----------------
Can you add nounwind to the test case to drop the .cfi directives


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55787/new/

https://reviews.llvm.org/D55787





More information about the llvm-commits mailing list