[llvm] [X86][GlobalIsel] Reland G_ISFPCLASS (PR #165848)

via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 10 02:16:37 PST 2025


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 128498 tests passed
* 2800 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/X86/isel-fpclass.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\isel-fpclass.ll -mtriple=i686-linux | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\isel-fpclass.ll -check-prefixes=X86,X86-SDAGISEL
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=i686-linux
# .---command stdout------------
# | 	.file	"<stdin>"
# | 	.text
# | 	.globl	isnone_f                        # -- Begin function isnone_f
# | 	.p2align	4
# | 	.type	isnone_f, at function
# | isnone_f:                               # @isnone_f
# | # %bb.0:                                # %entry
# | 	xorl	%eax, %eax
# | 	retl
# | .Lfunc_end0:
# | 	.size	isnone_f, .Lfunc_end0-isnone_f
# |                                         # -- End function
# | 	.globl	isany_f                         # -- Begin function isany_f
# | 	.p2align	4
# | 	.type	isany_f, at function
# | isany_f:                                # @isany_f
# | # %bb.0:                                # %entry
# | 	movb	$1, %al
# | 	retl
# | .Lfunc_end1:
# | 	.size	isany_f, .Lfunc_end1-isany_f
# |                                         # -- End function
# | 	.globl	issignaling_f                   # -- Begin function issignaling_f
# | 	.p2align	4
# | 	.type	issignaling_f, at function
# | issignaling_f:                          # @issignaling_f
# | # %bb.0:
# | 	movl	$2147483647, %eax               # imm = 0x7FFFFFFF
# | 	andl	4(%esp), %eax
# | 	cmpl	$2143289344, %eax               # imm = 0x7FC00000
# | 	setl	%cl
# | 	cmpl	$2139095041, %eax               # imm = 0x7F800001
# | 	setge	%al
# | 	andb	%cl, %al
# | 	retl
# | .Lfunc_end2:
# | 	.size	issignaling_f, .Lfunc_end2-issignaling_f
# |                                         # -- End function
# | 	.globl	isquiet_f                       # -- Begin function isquiet_f
# | 	.p2align	4
# | 	.type	isquiet_f, at function
# | isquiet_f:                              # @isquiet_f
# | # %bb.0:                                # %entry
# | 	movl	$2147483647, %eax               # imm = 0x7FFFFFFF
# | 	andl	4(%esp), %eax
# | 	cmpl	$2143289344, %eax               # imm = 0x7FC00000
# | 	setge	%al
# | 	retl
# | .Lfunc_end3:
# | 	.size	isquiet_f, .Lfunc_end3-isquiet_f
# |                                         # -- End function
# | 	.globl	not_isquiet_f                   # -- Begin function not_isquiet_f
# | 	.p2align	4
# | 	.type	not_isquiet_f, at function
# | not_isquiet_f:                          # @not_isquiet_f
# | # %bb.0:                                # %entry
# | 	movl	$2147483647, %eax               # imm = 0x7FFFFFFF
# | 	andl	4(%esp), %eax
# | 	cmpl	$2143289344, %eax               # imm = 0x7FC00000
# | 	setl	%al
# | 	retl
# | .Lfunc_end4:
# | 	.size	not_isquiet_f, .Lfunc_end4-not_isquiet_f
# |                                         # -- End function
# | 	.globl	isinf_f                         # -- Begin function isinf_f
# | 	.p2align	4
# | 	.type	isinf_f, at function
# | isinf_f:                                # @isinf_f
# | # %bb.0:                                # %entry
# | 	movl	$2147483647, %eax               # imm = 0x7FFFFFFF
# | 	andl	4(%esp), %eax
# | 	cmpl	$2139095040, %eax               # imm = 0x7F800000
# | 	sete	%al
# | 	retl
# | .Lfunc_end5:
# | 	.size	isinf_f, .Lfunc_end5-isinf_f
# |                                         # -- End function
# | 	.globl	not_isinf_f                     # -- Begin function not_isinf_f
# | 	.p2align	4
# | 	.type	not_isinf_f, at function
# | not_isinf_f:                            # @not_isinf_f
# | # %bb.0:                                # %entry
# | 	movl	$2147483647, %eax               # imm = 0x7FFFFFFF
# | 	andl	4(%esp), %eax
# | 	cmpl	$2139095040, %eax               # imm = 0x7F800000
# | 	setne	%al
# | 	retl
# | .Lfunc_end6:
# | 	.size	not_isinf_f, .Lfunc_end6-not_isinf_f
# |                                         # -- End function
# | 	.globl	is_plus_inf_f                   # -- Begin function is_plus_inf_f
# | 	.p2align	4
# | 	.type	is_plus_inf_f, at function
# | is_plus_inf_f:                          # @is_plus_inf_f
# | # %bb.0:                                # %entry
# | 	cmpl	$2139095040, 4(%esp)            # imm = 0x7F800000
# | 	sete	%al
# | 	retl
# | .Lfunc_end7:
# | 	.size	is_plus_inf_f, .Lfunc_end7-is_plus_inf_f
# |                                         # -- End function
# | 	.globl	is_minus_inf_f                  # -- Begin function is_minus_inf_f
# | 	.p2align	4
# | 	.type	is_minus_inf_f, at function
# | is_minus_inf_f:                         # @is_minus_inf_f
# | # %bb.0:                                # %entry
# | 	cmpl	$-8388608, 4(%esp)              # imm = 0xFF800000
# | 	sete	%al
# | 	retl
# | .Lfunc_end8:
# | 	.size	is_minus_inf_f, .Lfunc_end8-is_minus_inf_f
# |                                         # -- End function
# | 	.globl	not_is_minus_inf_f              # -- Begin function not_is_minus_inf_f
# | 	.p2align	4
# | 	.type	not_is_minus_inf_f, at function
# | not_is_minus_inf_f:                     # @not_is_minus_inf_f
# | # %bb.0:                                # %entry
# | 	cmpl	$-8388608, 4(%esp)              # imm = 0xFF800000
# | 	setne	%al
# | 	retl
# | .Lfunc_end9:
# | 	.size	not_is_minus_inf_f, .Lfunc_end9-not_is_minus_inf_f
# |                                         # -- End function
# | 	.globl	isfinite_f                      # -- Begin function isfinite_f
# | 	.p2align	4
# | 	.type	isfinite_f, at function
# | isfinite_f:                             # @isfinite_f
# | # %bb.0:                                # %entry
# | 	movl	$2147483647, %eax               # imm = 0x7FFFFFFF
# | 	andl	4(%esp), %eax
# | 	cmpl	$2139095040, %eax               # imm = 0x7F800000
# | 	setl	%al
# | 	retl
# | .Lfunc_end10:
# | 	.size	isfinite_f, .Lfunc_end10-isfinite_f
# |                                         # -- End function
# | 	.globl	not_isfinite_f                  # -- Begin function not_isfinite_f
# | 	.p2align	4
# | 	.type	not_isfinite_f, at function
# | not_isfinite_f:                         # @not_isfinite_f
# | # %bb.0:                                # %entry
# | 	movl	$2147483647, %eax               # imm = 0x7FFFFFFF
# | 	andl	4(%esp), %eax
# | 	cmpl	$2139095040, %eax               # imm = 0x7F800000
# | 	setge	%al
# | 	retl
# | .Lfunc_end11:
# | 	.size	not_isfinite_f, .Lfunc_end11-not_isfinite_f
# |                                         # -- End function
# | 	.globl	is_plus_finite_f                # -- Begin function is_plus_finite_f
# | 	.p2align	4
# | 	.type	is_plus_finite_f, at function
# | is_plus_finite_f:                       # @is_plus_finite_f
# | # %bb.0:                                # %entry
# | 	cmpl	$2139095040, 4(%esp)            # imm = 0x7F800000
# | 	setb	%al
# | 	retl
# | .Lfunc_end12:
# | 	.size	is_plus_finite_f, .Lfunc_end12-is_plus_finite_f
# |                                         # -- End function
# | 	.globl	isnone_d                        # -- Begin function isnone_d
# | 	.p2align	4
# | 	.type	isnone_d, at function
# | isnone_d:                               # @isnone_d
# | # %bb.0:                                # %entry
# | 	xorl	%eax, %eax
# | 	retl
# | .Lfunc_end13:
# | 	.size	isnone_d, .Lfunc_end13-isnone_d
# |                                         # -- End function
# | 	.globl	isany_d                         # -- Begin function isany_d
# | 	.p2align	4
# | 	.type	isany_d, at function
# | isany_d:                                # @isany_d
# | # %bb.0:                                # %entry
# | 	movb	$1, %al
# | 	retl
# | .Lfunc_end14:
# | 	.size	isany_d, .Lfunc_end14-isany_d
# |                                         # -- End function
# | 	.globl	isnone_f80                      # -- Begin function isnone_f80
# | 	.p2align	4
# | 	.type	isnone_f80, at function
# | isnone_f80:                             # @isnone_f80
# | # %bb.0:                                # %entry
# | 	xorl	%eax, %eax
# | 	retl
# | .Lfunc_end15:
# | 	.size	isnone_f80, .Lfunc_end15-isnone_f80
# |                                         # -- End function
# | 	.globl	isany_f80                       # -- Begin function isany_f80
# | 	.p2align	4
# | 	.type	isany_f80, at function
# | isany_f80:                              # @isany_f80
# | # %bb.0:                                # %entry
# | 	movb	$1, %al
# | 	retl
# | .Lfunc_end16:
# | 	.size	isany_f80, .Lfunc_end16-isany_f80
# |                                         # -- End function
# | 	.section	".note.GNU-stack","", at progbits
# `-----------------------------
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\isel-fpclass.ll' -check-prefixes=X86,X86-SDAGISEL
# .---command stderr------------
# | error: no check strings found with prefix 'X86-SDAGISEL:'
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/165848


More information about the llvm-commits mailing list