Skip to content

Commit

Permalink
[X86] combine-bextr.ll - replace X32 checks with X86. NFC.
Browse files Browse the repository at this point in the history
We try to use X32 for gnux32 triples only.

Add nounwind to remove cfi noise as well.
  • Loading branch information
RKSimon committed Jan 8, 2024
1 parent c52b467 commit f3f6677
Showing 1 changed file with 23 additions and 25 deletions.
48 changes: 23 additions & 25 deletions llvm/test/CodeGen/X86/combine-bextr.ll
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse2,+bmi | FileCheck %s --check-prefixes=CHECK,X32
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse2,+bmi | FileCheck %s --check-prefixes=CHECK,X86
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2,+bmi | FileCheck %s --check-prefixes=CHECK,X64

declare i32 @llvm.x86.bmi.bextr.32(i32, i32)

define i32 @bextr_zero_length(i32 %x, i32 %y) {
define i32 @bextr_zero_length(i32 %x, i32 %y) nounwind {
; CHECK-LABEL: bextr_zero_length:
; CHECK: # %bb.0:
; CHECK-NEXT: xorl %eax, %eax
Expand All @@ -14,13 +14,13 @@ define i32 @bextr_zero_length(i32 %x, i32 %y) {
ret i32 %2
}

define i32 @bextr_big_shift(i32 %x, i32 %y) {
; X32-LABEL: bextr_big_shift:
; X32: # %bb.0:
; X32-NEXT: movl $255, %eax
; X32-NEXT: orl {{[0-9]+}}(%esp), %eax
; X32-NEXT: bextrl %eax, {{[0-9]+}}(%esp), %eax
; X32-NEXT: retl
define i32 @bextr_big_shift(i32 %x, i32 %y) nounwind {
; X86-LABEL: bextr_big_shift:
; X86: # %bb.0:
; X86-NEXT: movl $255, %eax
; X86-NEXT: orl {{[0-9]+}}(%esp), %eax
; X86-NEXT: bextrl %eax, {{[0-9]+}}(%esp), %eax
; X86-NEXT: retl
;
; X64-LABEL: bextr_big_shift:
; X64: # %bb.0:
Expand All @@ -32,22 +32,20 @@ define i32 @bextr_big_shift(i32 %x, i32 %y) {
ret i32 %2
}

define float @bextr_uitofp(i32 %x, i32 %y) {
; X32-LABEL: bextr_uitofp:
; X32: # %bb.0:
; X32-NEXT: pushl %eax
; X32-NEXT: .cfi_def_cfa_offset 8
; X32-NEXT: movl $3855, %eax # imm = 0xF0F
; X32-NEXT: bextrl %eax, {{[0-9]+}}(%esp), %eax
; X32-NEXT: movd %eax, %xmm0
; X32-NEXT: por {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
; X32-NEXT: subsd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
; X32-NEXT: cvtsd2ss %xmm0, %xmm0
; X32-NEXT: movss %xmm0, (%esp)
; X32-NEXT: flds (%esp)
; X32-NEXT: popl %eax
; X32-NEXT: .cfi_def_cfa_offset 4
; X32-NEXT: retl
define float @bextr_uitofp(i32 %x, i32 %y) nounwind {
; X86-LABEL: bextr_uitofp:
; X86: # %bb.0:
; X86-NEXT: pushl %eax
; X86-NEXT: movl $3855, %eax # imm = 0xF0F
; X86-NEXT: bextrl %eax, {{[0-9]+}}(%esp), %eax
; X86-NEXT: movd %eax, %xmm0
; X86-NEXT: por {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
; X86-NEXT: subsd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
; X86-NEXT: cvtsd2ss %xmm0, %xmm0
; X86-NEXT: movss %xmm0, (%esp)
; X86-NEXT: flds (%esp)
; X86-NEXT: popl %eax
; X86-NEXT: retl
;
; X64-LABEL: bextr_uitofp:
; X64: # %bb.0:
Expand Down

0 comments on commit f3f6677

Please sign in to comment.