[PATCH] D140938: [X86] Add tests for atomic bittest with register/memory operands

Phoebe Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 4 23:14:44 PST 2023


pengfei added inline comments.


================
Comment at: llvm/test/CodeGen/X86/atomic-rm-bit-test.ll:7392-7428
+; X86-LABEL: atomic_shl1_xor_64_gpr_val:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %ebp
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %esi
----------------
goldstein.w.n wrote:
> pengfei wrote:
> > I think we never have a chance to optimize 64-bit operations on 32-bits, right? Should we move these 64-bit tests to another file and only leave a single run `; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s`
> > I think we never have a chance to optimize 64-bit operations on 32-bits, right? Should we move these 64-bit tests to another file and only leave a single run `; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s`
> 
> We get it something i.e:
> ```
> define zeroext i16 @atomic_shl1_or_16_const_val(ptr %v) nounwind {
> ; X86-LABEL: atomic_shl1_or_16_const_val:
> ; X86:       # %bb.0: # %entry
> ; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
> ; X86-NEXT:    xorl %eax, %eax
> ; X86-NEXT:    lock btsw $4, (%ecx)
> ; X86-NEXT:    setb %al
> ; X86-NEXT:    shll $4, %eax
> ; X86-NEXT:    # kill: def $ax killed $ax killed $eax
> ; X86-NEXT:    retl
> ```
I mean just put these `define i64 @...64...` into another file and only run for 64-bit.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140938



More information about the llvm-commits mailing list