[PATCH] D66483: [ARM] Generate 8.1-m CSINC, CSNEG and CSINV instructions.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 20 12:02:52 PDT 2019


efriedma added a comment.

Could you give a brief description of why this is better than just using an "it" block?



================
Comment at: llvm/test/CodeGen/Thumb2/csel.ll:21
 ; CHECK-NEXT:    cmp r0, #45
-; CHECK-NEXT:    it gt
-; CHECK-NEXT:    mvngt r1, #5
-; CHECK-NEXT:    mov r0, r1
+; CHECK-NEXT:    csinv r0, r1, r1, gt
 ; CHECK-NEXT:    bx lr
----------------
There's an opportunity to save another two bytes converting mvn->movs.


================
Comment at: llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll:769
+; CHECK-MVE-NEXT:    vcmpe.f32 s1, s4
+; CHECK-MVE-NEXT:    csinc r1, zr, zr, eq
 ; CHECK-MVE-NEXT:    vmrs APSR_nzcv, fpscr
----------------
This is cset, right?  Why aren't we printing the alias?


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

https://reviews.llvm.org/D66483





More information about the llvm-commits mailing list