[PATCH] D67087: [X86] Override BuildSDIVPow2 for X86.

Dávid Bolvanský via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 3 04:08:40 PDT 2019


xbolva00 added a comment.





================
Comment at: llvm/test/CodeGen/X86/pr32588.ll:19
+; CHECK-NEXT:    negl %eax
+; CHECK-NEXT:    cmovsl %ecx, %eax
 ; CHECK-NEXT:    cmpl $1, {{.*}}(%rip)
----------------
Maybe not a big deal?

Middle-end can reduce this IR to
define void @fn1() local_unnamed_addr #0 {
  %t0 = load i32, i32* @c, align 4
  %tobool1 = icmp eq i32 %t0, 0
  %xor = zext i1 %tobool1 to i32
  store i32 %xor, i32* @d, align 4
  ret void
}

and then llc..
fn1:                                    # @fn1
        xor     eax, eax
        cmp     dword ptr [rip + c], 0
        sete    al
        mov     dword ptr [rip + d], eax
        ret


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D67087





More information about the llvm-commits mailing list