[PATCH] D38378: [ARM] Optimize {s,u}{add,sub}.with.overflow.

Evgeny Astigeevich via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 18 13:26:34 PST 2018


eastig added a comment.

In https://reviews.llvm.org/D38378#980789, @jgalenson wrote:

> The example I found is in equal_data, which I assume is being inlined in make_list.
>
> I have a (one-line) fix for that, and I'm trying to run the test suite to see what else it improves.  However, I'm not seeing any changes in fourinarow, and I don't immediately see any obvious bad code in it.  Do you happen to know where the regression in it was?


In function 'value,' blocks where:

Before

  it eq
  orrseq.w r1, r3, r4
  bne.n b936 <value+0x1c66>

After

  itt eq
  orreq.w r1, r3, r4
  cmpeq r1, #0
  bne.n b946 <value+0x1c76>

Before

  ittt eq
  ldreq.w r0, [sp, #1712] ; 0x6b0
  ldreq.w r1, [sp, #1708] ; 0x6ac
  orrseq.w r1, r1, r0
  bne.n c7fa <value+0x2b2a>

After

  ittt eq
  ldreq.w r0, [sp, #1700] ; 0x6a4
  orreq r0, r6
  cmpeq r0, #0
  bne.n c810 <value+0x2b40>


Repository:
  rL LLVM

https://reviews.llvm.org/D38378





More information about the llvm-commits mailing list