11; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2- ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx10.2-512 | FileCheck %s --check-prefix=AVX10_2_X64
3- ; RUN: llc < %s -mtriple=i386-unknown-unknown -mattr=+avx10.2-512 | FileCheck %s --check-prefix=AVX10_2_X86
2+ ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx10.2-512 | FileCheck %s --check-prefix=X64
3+ ; RUN: llc < %s -mtriple=i386-unknown-unknown -mattr=+avx10.2-512 | FileCheck %s --check-prefix=X86
44
55define i1 @oeq (float %x , float %y ) {
6- ; AVX10_2_X64 -LABEL: oeq:
7- ; AVX10_2_X64 : # %bb.0:
8- ; AVX10_2_X64 -NEXT: vucomxss %xmm1, %xmm0
9- ; AVX10_2_X64 -NEXT: sete %al
10- ; AVX10_2_X64 -NEXT: retq
6+ ; X64 -LABEL: oeq:
7+ ; X64 : # %bb.0:
8+ ; X64 -NEXT: vucomxss %xmm1, %xmm0
9+ ; X64 -NEXT: sete %al
10+ ; X64 -NEXT: retq
1111;
12- ; AVX10_2_X86 -LABEL: oeq:
13- ; AVX10_2_X86 : # %bb.0:
14- ; AVX10_2_X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
15- ; AVX10_2_X86 -NEXT: vucomxss {{[0-9]+}}(%esp), %xmm0
16- ; AVX10_2_X86 -NEXT: sete %al
17- ; AVX10_2_X86 -NEXT: retl
12+ ; X86 -LABEL: oeq:
13+ ; X86 : # %bb.0:
14+ ; X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
15+ ; X86 -NEXT: vucomxss {{[0-9]+}}(%esp), %xmm0
16+ ; X86 -NEXT: sete %al
17+ ; X86 -NEXT: retl
1818 %1 = fcmp oeq float %x , %y
1919 ret i1 %1
2020}
2121
2222define i1 @une (float %x , float %y ) {
23- ; AVX10_2_X64 -LABEL: une:
24- ; AVX10_2_X64 : # %bb.0:
25- ; AVX10_2_X64 -NEXT: vucomxss %xmm1, %xmm0
26- ; AVX10_2_X64 -NEXT: setne %al
27- ; AVX10_2_X64 -NEXT: retq
23+ ; X64 -LABEL: une:
24+ ; X64 : # %bb.0:
25+ ; X64 -NEXT: vucomxss %xmm1, %xmm0
26+ ; X64 -NEXT: setne %al
27+ ; X64 -NEXT: retq
2828;
29- ; AVX10_2_X86 -LABEL: une:
30- ; AVX10_2_X86 : # %bb.0:
31- ; AVX10_2_X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
32- ; AVX10_2_X86 -NEXT: vucomxss {{[0-9]+}}(%esp), %xmm0
33- ; AVX10_2_X86 -NEXT: setne %al
34- ; AVX10_2_X86 -NEXT: retl
29+ ; X86 -LABEL: une:
30+ ; X86 : # %bb.0:
31+ ; X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
32+ ; X86 -NEXT: vucomxss {{[0-9]+}}(%esp), %xmm0
33+ ; X86 -NEXT: setne %al
34+ ; X86 -NEXT: retl
3535 %1 = fcmp une float %x , %y
3636 ret i1 %1
3737}
3838
3939define i1 @ogt (float %x , float %y ) {
40- ; AVX10_2_X64 -LABEL: ogt:
41- ; AVX10_2_X64 : # %bb.0:
42- ; AVX10_2_X64 -NEXT: vucomiss %xmm1, %xmm0
43- ; AVX10_2_X64 -NEXT: seta %al
44- ; AVX10_2_X64 -NEXT: retq
40+ ; X64 -LABEL: ogt:
41+ ; X64 : # %bb.0:
42+ ; X64 -NEXT: vucomiss %xmm1, %xmm0
43+ ; X64 -NEXT: seta %al
44+ ; X64 -NEXT: retq
4545;
46- ; AVX10_2_X86 -LABEL: ogt:
47- ; AVX10_2_X86 : # %bb.0:
48- ; AVX10_2_X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
49- ; AVX10_2_X86 -NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0
50- ; AVX10_2_X86 -NEXT: seta %al
51- ; AVX10_2_X86 -NEXT: retl
46+ ; X86 -LABEL: ogt:
47+ ; X86 : # %bb.0:
48+ ; X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
49+ ; X86 -NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0
50+ ; X86 -NEXT: seta %al
51+ ; X86 -NEXT: retl
5252 %1 = fcmp ogt float %x , %y
5353 ret i1 %1
5454}
5555
5656define i1 @oeq_mem (ptr %xp , ptr %yp ) {
57- ; AVX10_2_X64 -LABEL: oeq_mem:
58- ; AVX10_2_X64 : # %bb.0:
59- ; AVX10_2_X64 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
60- ; AVX10_2_X64 -NEXT: vucomxss (%rsi), %xmm0
61- ; AVX10_2_X64 -NEXT: sete %al
62- ; AVX10_2_X64 -NEXT: retq
57+ ; X64 -LABEL: oeq_mem:
58+ ; X64 : # %bb.0:
59+ ; X64 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
60+ ; X64 -NEXT: vucomxss (%rsi), %xmm0
61+ ; X64 -NEXT: sete %al
62+ ; X64 -NEXT: retq
6363;
64- ; AVX10_2_X86 -LABEL: oeq_mem:
65- ; AVX10_2_X86 : # %bb.0:
66- ; AVX10_2_X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
67- ; AVX10_2_X86 -NEXT: movl {{[0-9]+}}(%esp), %ecx
68- ; AVX10_2_X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
69- ; AVX10_2_X86 -NEXT: vucomxss (%eax), %xmm0
70- ; AVX10_2_X86 -NEXT: sete %al
71- ; AVX10_2_X86 -NEXT: retl
64+ ; X86 -LABEL: oeq_mem:
65+ ; X86 : # %bb.0:
66+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
67+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %ecx
68+ ; X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
69+ ; X86 -NEXT: vucomxss (%eax), %xmm0
70+ ; X86 -NEXT: sete %al
71+ ; X86 -NEXT: retl
7272 %x = load float , ptr %xp
7373 %y = load float , ptr %yp
7474 %1 = fcmp oeq float %x , %y
7575 ret i1 %1
7676}
7777
7878define i1 @une_mem (ptr %xp , ptr %yp ) {
79- ; AVX10_2_X64 -LABEL: une_mem:
80- ; AVX10_2_X64 : # %bb.0:
81- ; AVX10_2_X64 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
82- ; AVX10_2_X64 -NEXT: vucomxss (%rsi), %xmm0
83- ; AVX10_2_X64 -NEXT: setne %al
84- ; AVX10_2_X64 -NEXT: retq
79+ ; X64 -LABEL: une_mem:
80+ ; X64 : # %bb.0:
81+ ; X64 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
82+ ; X64 -NEXT: vucomxss (%rsi), %xmm0
83+ ; X64 -NEXT: setne %al
84+ ; X64 -NEXT: retq
8585;
86- ; AVX10_2_X86 -LABEL: une_mem:
87- ; AVX10_2_X86 : # %bb.0:
88- ; AVX10_2_X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
89- ; AVX10_2_X86 -NEXT: movl {{[0-9]+}}(%esp), %ecx
90- ; AVX10_2_X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
91- ; AVX10_2_X86 -NEXT: vucomxss (%eax), %xmm0
92- ; AVX10_2_X86 -NEXT: setne %al
93- ; AVX10_2_X86 -NEXT: retl
86+ ; X86 -LABEL: une_mem:
87+ ; X86 : # %bb.0:
88+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
89+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %ecx
90+ ; X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
91+ ; X86 -NEXT: vucomxss (%eax), %xmm0
92+ ; X86 -NEXT: setne %al
93+ ; X86 -NEXT: retl
9494 %x = load float , ptr %xp
9595 %y = load float , ptr %yp
9696 %1 = fcmp une float %x , %y
@@ -99,21 +99,21 @@ define i1 @une_mem(ptr %xp, ptr %yp) {
9999
100100
101101define i1 @ogt_mem (ptr %xp , ptr %yp ) {
102- ; AVX10_2_X64 -LABEL: ogt_mem:
103- ; AVX10_2_X64 : # %bb.0:
104- ; AVX10_2_X64 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
105- ; AVX10_2_X64 -NEXT: vucomiss (%rsi), %xmm0
106- ; AVX10_2_X64 -NEXT: seta %al
107- ; AVX10_2_X64 -NEXT: retq
102+ ; X64 -LABEL: ogt_mem:
103+ ; X64 : # %bb.0:
104+ ; X64 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
105+ ; X64 -NEXT: vucomiss (%rsi), %xmm0
106+ ; X64 -NEXT: seta %al
107+ ; X64 -NEXT: retq
108108;
109- ; AVX10_2_X86 -LABEL: ogt_mem:
110- ; AVX10_2_X86 : # %bb.0:
111- ; AVX10_2_X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
112- ; AVX10_2_X86 -NEXT: movl {{[0-9]+}}(%esp), %ecx
113- ; AVX10_2_X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
114- ; AVX10_2_X86 -NEXT: vucomiss (%eax), %xmm0
115- ; AVX10_2_X86 -NEXT: seta %al
116- ; AVX10_2_X86 -NEXT: retl
109+ ; X86 -LABEL: ogt_mem:
110+ ; X86 : # %bb.0:
111+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
112+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %ecx
113+ ; X86 -NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
114+ ; X86 -NEXT: vucomiss (%eax), %xmm0
115+ ; X86 -NEXT: seta %al
116+ ; X86 -NEXT: retl
117117 %x = load float , ptr %xp
118118 %y = load float , ptr %yp
119119 %1 = fcmp ogt float %x , %y
0 commit comments