Skip to content

Conversation

RKSimon
Copy link
Collaborator

@RKSimon RKSimon commented Sep 29, 2025

Use X86 for 32-bit targets, and X64 for 64-bit targets

Use X86 for 32-bit targets, and X64 for 64-bit targets
@RKSimon RKSimon enabled auto-merge (squash) September 29, 2025 13:58
@llvmbot
Copy link
Member

llvmbot commented Sep 29, 2025

@llvm/pr-subscribers-backend-x86

Author: Simon Pilgrim (RKSimon)

Changes

Use X86 for 32-bit targets, and X64 for 64-bit targets


Full diff: https://github.com/llvm/llvm-project/pull/161198.diff

1 Files Affected:

  • (modified) llvm/test/CodeGen/X86/isint.ll (+62-62)
diff --git a/llvm/test/CodeGen/X86/isint.ll b/llvm/test/CodeGen/X86/isint.ll
index 8a56f49a6c755..8c11fe147f0d8 100644
--- a/llvm/test/CodeGen/X86/isint.ll
+++ b/llvm/test/CodeGen/X86/isint.ll
@@ -1,29 +1,29 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-pc-unknown -mattr=+sse2 | FileCheck -check-prefix=CHECK64 %s
-; RUN: llc < %s -mtriple=i686-pc-unknown -mattr=+sse2 | FileCheck -check-prefix=CHECK32 %s
+; RUN: llc < %s -mtriple=x86_64-pc-unknown -mattr=+sse2 | FileCheck -check-prefix=X64 %s
+; RUN: llc < %s -mtriple=i686-pc-unknown -mattr=+sse2 | FileCheck -check-prefix=X86 %s
 
 ; PR19059
 
 define i32 @isint_return(double %d) nounwind {
-; CHECK64-LABEL: isint_return:
-; CHECK64:       # %bb.0:
-; CHECK64-NEXT:    cvttpd2dq %xmm0, %xmm1
-; CHECK64-NEXT:    cvtdq2pd %xmm1, %xmm1
-; CHECK64-NEXT:    cmpeqsd %xmm0, %xmm1
-; CHECK64-NEXT:    movq %xmm1, %rax
-; CHECK64-NEXT:    andl $1, %eax
-; CHECK64-NEXT:    # kill: def $eax killed $eax killed $rax
-; CHECK64-NEXT:    retq
+; X64-LABEL: isint_return:
+; X64:       # %bb.0:
+; X64-NEXT:    cvttpd2dq %xmm0, %xmm1
+; X64-NEXT:    cvtdq2pd %xmm1, %xmm1
+; X64-NEXT:    cmpeqsd %xmm0, %xmm1
+; X64-NEXT:    movq %xmm1, %rax
+; X64-NEXT:    andl $1, %eax
+; X64-NEXT:    # kill: def $eax killed $eax killed $rax
+; X64-NEXT:    retq
 ;
-; CHECK32-LABEL: isint_return:
-; CHECK32:       # %bb.0:
-; CHECK32-NEXT:    movsd {{.*#+}} xmm0 = mem[0],zero
-; CHECK32-NEXT:    cvttpd2dq %xmm0, %xmm1
-; CHECK32-NEXT:    cvtdq2pd %xmm1, %xmm1
-; CHECK32-NEXT:    cmpeqsd %xmm0, %xmm1
-; CHECK32-NEXT:    movd %xmm1, %eax
-; CHECK32-NEXT:    andl $1, %eax
-; CHECK32-NEXT:    retl
+; X86-LABEL: isint_return:
+; X86:       # %bb.0:
+; X86-NEXT:    movsd {{.*#+}} xmm0 = mem[0],zero
+; X86-NEXT:    cvttpd2dq %xmm0, %xmm1
+; X86-NEXT:    cvtdq2pd %xmm1, %xmm1
+; X86-NEXT:    cmpeqsd %xmm0, %xmm1
+; X86-NEXT:    movd %xmm1, %eax
+; X86-NEXT:    andl $1, %eax
+; X86-NEXT:    retl
   %i = fptosi double %d to i32
   %e = sitofp i32 %i to double
   %c = fcmp oeq double %d, %e
@@ -32,24 +32,24 @@ define i32 @isint_return(double %d) nounwind {
 }
 
 define i32 @isint_float_return(float %f) nounwind {
-; CHECK64-LABEL: isint_float_return:
-; CHECK64:       # %bb.0:
-; CHECK64-NEXT:    cvttps2dq %xmm0, %xmm1
-; CHECK64-NEXT:    cvtdq2ps %xmm1, %xmm1
-; CHECK64-NEXT:    cmpeqss %xmm0, %xmm1
-; CHECK64-NEXT:    movd %xmm1, %eax
-; CHECK64-NEXT:    andl $1, %eax
-; CHECK64-NEXT:    retq
+; X64-LABEL: isint_float_return:
+; X64:       # %bb.0:
+; X64-NEXT:    cvttps2dq %xmm0, %xmm1
+; X64-NEXT:    cvtdq2ps %xmm1, %xmm1
+; X64-NEXT:    cmpeqss %xmm0, %xmm1
+; X64-NEXT:    movd %xmm1, %eax
+; X64-NEXT:    andl $1, %eax
+; X64-NEXT:    retq
 ;
-; CHECK32-LABEL: isint_float_return:
-; CHECK32:       # %bb.0:
-; CHECK32-NEXT:    movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; CHECK32-NEXT:    cvttps2dq %xmm0, %xmm1
-; CHECK32-NEXT:    cvtdq2ps %xmm1, %xmm1
-; CHECK32-NEXT:    cmpeqss %xmm0, %xmm1
-; CHECK32-NEXT:    movd %xmm1, %eax
-; CHECK32-NEXT:    andl $1, %eax
-; CHECK32-NEXT:    retl
+; X86-LABEL: isint_float_return:
+; X86:       # %bb.0:
+; X86-NEXT:    movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
+; X86-NEXT:    cvttps2dq %xmm0, %xmm1
+; X86-NEXT:    cvtdq2ps %xmm1, %xmm1
+; X86-NEXT:    cmpeqss %xmm0, %xmm1
+; X86-NEXT:    movd %xmm1, %eax
+; X86-NEXT:    andl $1, %eax
+; X86-NEXT:    retl
   %i = fptosi float %f to i32
   %g = sitofp i32 %i to float
   %c = fcmp oeq float %f, %g
@@ -60,32 +60,32 @@ define i32 @isint_float_return(float %f) nounwind {
 declare void @foo()
 
 define void @isint_branch(double %d) nounwind {
-; CHECK64-LABEL: isint_branch:
-; CHECK64:       # %bb.0:
-; CHECK64-NEXT:    cvttpd2dq %xmm0, %xmm1
-; CHECK64-NEXT:    cvtdq2pd %xmm1, %xmm1
-; CHECK64-NEXT:    ucomisd %xmm1, %xmm0
-; CHECK64-NEXT:    jne .LBB2_2
-; CHECK64-NEXT:    jp .LBB2_2
-; CHECK64-NEXT:  # %bb.1: # %true
-; CHECK64-NEXT:    pushq %rax
-; CHECK64-NEXT:    callq foo@PLT
-; CHECK64-NEXT:    popq %rax
-; CHECK64-NEXT:  .LBB2_2: # %false
-; CHECK64-NEXT:    retq
+; X64-LABEL: isint_branch:
+; X64:       # %bb.0:
+; X64-NEXT:    cvttpd2dq %xmm0, %xmm1
+; X64-NEXT:    cvtdq2pd %xmm1, %xmm1
+; X64-NEXT:    ucomisd %xmm1, %xmm0
+; X64-NEXT:    jne .LBB2_2
+; X64-NEXT:    jp .LBB2_2
+; X64-NEXT:  # %bb.1: # %true
+; X64-NEXT:    pushq %rax
+; X64-NEXT:    callq foo@PLT
+; X64-NEXT:    popq %rax
+; X64-NEXT:  .LBB2_2: # %false
+; X64-NEXT:    retq
 ;
-; CHECK32-LABEL: isint_branch:
-; CHECK32:       # %bb.0:
-; CHECK32-NEXT:    movsd {{.*#+}} xmm0 = mem[0],zero
-; CHECK32-NEXT:    cvttpd2dq %xmm0, %xmm1
-; CHECK32-NEXT:    cvtdq2pd %xmm1, %xmm1
-; CHECK32-NEXT:    ucomisd %xmm1, %xmm0
-; CHECK32-NEXT:    jne .LBB2_2
-; CHECK32-NEXT:    jp .LBB2_2
-; CHECK32-NEXT:  # %bb.1: # %true
-; CHECK32-NEXT:    calll foo@PLT
-; CHECK32-NEXT:  .LBB2_2: # %false
-; CHECK32-NEXT:    retl
+; X86-LABEL: isint_branch:
+; X86:       # %bb.0:
+; X86-NEXT:    movsd {{.*#+}} xmm0 = mem[0],zero
+; X86-NEXT:    cvttpd2dq %xmm0, %xmm1
+; X86-NEXT:    cvtdq2pd %xmm1, %xmm1
+; X86-NEXT:    ucomisd %xmm1, %xmm0
+; X86-NEXT:    jne .LBB2_2
+; X86-NEXT:    jp .LBB2_2
+; X86-NEXT:  # %bb.1: # %true
+; X86-NEXT:    calll foo@PLT
+; X86-NEXT:  .LBB2_2: # %false
+; X86-NEXT:    retl
   %i = fptosi double %d to i32
   %e = sitofp i32 %i to double
   %c = fcmp oeq double %d, %e

@RKSimon RKSimon merged commit b79f4eb into llvm:main Sep 29, 2025
11 checks passed
@RKSimon RKSimon deleted the x86-isint-prefix branch September 29, 2025 15:12
mahesh-attarde pushed a commit to mahesh-attarde/llvm-project that referenced this pull request Oct 3, 2025
Use X86 for 32-bit targets, and X64 for 64-bit targets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants