[PATCH] D51854: [Arm builtins] Remove non-necessary IS check

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 10 05:59:03 PDT 2018


peter.smith added a comment.

I agree that we should be using APSR_nzcvq rather than CPSR_f as both assemble to the same instruction encoding (they disassemble to APSR_nzcvq).  I think it is worth seeing if there are any objections to removing the case for ARM state msr CPSR_f, #APSR_C as it saves one instruction. Overall looking good to me though.



================
Comment at: lib/builtins/arm/aeabi_cdcmp.S:57
         msr APSR_nzcvq, ip
-#else
-        msr CPSR_f, #APSR_C
----------------
We are going from 1 instruction in ARM state to two here (only ARM state supports the msr register, immediate form). Personally I think the simplicity of having a single code sequence outweighs having an extra instruction as I suspect the majority of people are using Thumb2. If there is anyone that prefers the immediate form it will be worth changing msr CPSR_F, #APSR_C to msr APSR_nzcvq, #APSR_C.  


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D51854





More information about the llvm-commits mailing list