From a834950f83c95a70fe598a3700b8a03a466e974c Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Tue, 31 Oct 2017 18:43:24 +0000 Subject: [PATCH] [X86][AVX512] Regenerate tests to remove retl/retq regex These are only testing 64-bit targets so we don't need the regex llvm-svn: 317021 --- test/CodeGen/X86/bitcast-and-setcc-128.ll | 102 +++++++++++----------- test/CodeGen/X86/bitcast-and-setcc-256.ll | 56 ++++++------ test/CodeGen/X86/bitcast-and-setcc-512.ll | 56 ++++++------ 3 files changed, 107 insertions(+), 107 deletions(-) diff --git a/test/CodeGen/X86/bitcast-and-setcc-128.ll b/test/CodeGen/X86/bitcast-and-setcc-128.ll index 1d482b1b00e..2ea93aef009 100644 --- a/test/CodeGen/X86/bitcast-and-setcc-128.ll +++ b/test/CodeGen/X86/bitcast-and-setcc-128.ll @@ -15,7 +15,7 @@ define i8 @v8i16(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c, <8 x i16> %d) { ; SSE2-SSSE3-NEXT: packsswb %xmm0, %xmm2 ; SSE2-SSSE3-NEXT: pmovmskb %xmm2, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v8i16: ; AVX12: # BB#0: @@ -25,7 +25,7 @@ define i8 @v8i16(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c, <8 x i16> %d) { ; AVX12-NEXT: vpacksswb %xmm0, %xmm0, %xmm0 ; AVX12-NEXT: vpmovmskb %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v8i16: ; AVX512F: # BB#0: @@ -40,7 +40,7 @@ define i8 @v8i16(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c, <8 x i16> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AL %AL %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v8i16: ; AVX512BW: # BB#0: @@ -48,7 +48,7 @@ define i8 @v8i16(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c, <8 x i16> %d) { ; AVX512BW-NEXT: vpcmpgtw %xmm3, %xmm2, %k0 {%k1} ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AL %AL %EAX -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <8 x i16> %a, %b %x1 = icmp sgt <8 x i16> %c, %d %y = and <8 x i1> %x0, %x1 @@ -64,7 +64,7 @@ define i4 @v4i32(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c, <4 x i32> %d) { ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm2 ; SSE2-SSSE3-NEXT: movmskps %xmm2, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v4i32: ; AVX12: # BB#0: @@ -73,7 +73,7 @@ define i4 @v4i32(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c, <4 x i32> %d) { ; AVX12-NEXT: vpand %xmm1, %xmm0, %xmm0 ; AVX12-NEXT: vmovmskps %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v4i32: ; AVX512F: # BB#0: @@ -82,7 +82,7 @@ define i4 @v4i32(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c, <4 x i32> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v4i32: ; AVX512BW: # BB#0: @@ -91,7 +91,7 @@ define i4 @v4i32(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c, <4 x i32> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <4 x i32> %a, %b %x1 = icmp sgt <4 x i32> %c, %d %y = and <4 x i1> %x0, %x1 @@ -107,7 +107,7 @@ define i4 @v4f32(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d) ; SSE2-SSSE3-NEXT: andps %xmm1, %xmm3 ; SSE2-SSSE3-NEXT: movmskps %xmm3, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v4f32: ; AVX12: # BB#0: @@ -116,7 +116,7 @@ define i4 @v4f32(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d) ; AVX12-NEXT: vandps %xmm1, %xmm0, %xmm0 ; AVX12-NEXT: vmovmskps %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v4f32: ; AVX512F: # BB#0: @@ -125,7 +125,7 @@ define i4 @v4f32(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d) ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v4f32: ; AVX512BW: # BB#0: @@ -134,7 +134,7 @@ define i4 @v4f32(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d) ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = fcmp ogt <4 x float> %a, %b %x1 = fcmp ogt <4 x float> %c, %d %y = and <4 x i1> %x0, %x1 @@ -150,7 +150,7 @@ define i16 @v16i8(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c, <16 x i8> %d) { ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm2 ; SSE2-SSSE3-NEXT: pmovmskb %xmm2, %eax ; SSE2-SSSE3-NEXT: # kill: %AX %AX %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v16i8: ; AVX12: # BB#0: @@ -159,7 +159,7 @@ define i16 @v16i8(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c, <16 x i8> %d) { ; AVX12-NEXT: vpand %xmm1, %xmm0, %xmm0 ; AVX12-NEXT: vpmovmskb %xmm0, %eax ; AVX12-NEXT: # kill: %AX %AX %EAX -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v16i8: ; AVX512F: # BB#0: @@ -174,7 +174,7 @@ define i16 @v16i8(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c, <16 x i8> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AX %AX %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v16i8: ; AVX512BW: # BB#0: @@ -182,7 +182,7 @@ define i16 @v16i8(<16 x i8> %a, <16 x i8> %b, <16 x i8> %c, <16 x i8> %d) { ; AVX512BW-NEXT: vpcmpgtb %xmm3, %xmm2, %k0 {%k1} ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AX %AX %EAX -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <16 x i8> %a, %b %x1 = icmp sgt <16 x i8> %c, %d %y = and <16 x i1> %x0, %x1 @@ -245,7 +245,7 @@ define i2 @v2i8(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c, <2 x i8> %d) { ; SSE2-SSSE3-NEXT: pand %xmm1, %xmm0 ; SSE2-SSSE3-NEXT: movmskpd %xmm0, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX1-LABEL: v2i8: ; AVX1: # BB#0: @@ -274,7 +274,7 @@ define i2 @v2i8(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c, <2 x i8> %d) { ; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm0 ; AVX1-NEXT: vmovmskpd %xmm0, %eax ; AVX1-NEXT: # kill: %AL %AL %EAX -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v2i8: ; AVX2: # BB#0: @@ -303,7 +303,7 @@ define i2 @v2i8(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c, <2 x i8> %d) { ; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm0 ; AVX2-NEXT: vmovmskpd %xmm0, %eax ; AVX2-NEXT: # kill: %AL %AL %EAX -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v2i8: ; AVX512F: # BB#0: @@ -320,7 +320,7 @@ define i2 @v2i8(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c, <2 x i8> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v2i8: ; AVX512BW: # BB#0: @@ -337,7 +337,7 @@ define i2 @v2i8(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c, <2 x i8> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <2 x i8> %a, %b %x1 = icmp sgt <2 x i8> %c, %d %y = and <2 x i1> %x0, %x1 @@ -400,7 +400,7 @@ define i2 @v2i16(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c, <2 x i16> %d) { ; SSE2-SSSE3-NEXT: pand %xmm1, %xmm0 ; SSE2-SSSE3-NEXT: movmskpd %xmm0, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX1-LABEL: v2i16: ; AVX1: # BB#0: @@ -429,7 +429,7 @@ define i2 @v2i16(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c, <2 x i16> %d) { ; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm0 ; AVX1-NEXT: vmovmskpd %xmm0, %eax ; AVX1-NEXT: # kill: %AL %AL %EAX -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v2i16: ; AVX2: # BB#0: @@ -458,7 +458,7 @@ define i2 @v2i16(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c, <2 x i16> %d) { ; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm0 ; AVX2-NEXT: vmovmskpd %xmm0, %eax ; AVX2-NEXT: # kill: %AL %AL %EAX -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v2i16: ; AVX512F: # BB#0: @@ -475,7 +475,7 @@ define i2 @v2i16(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c, <2 x i16> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v2i16: ; AVX512BW: # BB#0: @@ -492,7 +492,7 @@ define i2 @v2i16(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c, <2 x i16> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <2 x i16> %a, %b %x1 = icmp sgt <2 x i16> %c, %d %y = and <2 x i1> %x0, %x1 @@ -547,7 +547,7 @@ define i2 @v2i32(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c, <2 x i32> %d) { ; SSE2-SSSE3-NEXT: pand %xmm3, %xmm0 ; SSE2-SSSE3-NEXT: movmskpd %xmm0, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX1-LABEL: v2i32: ; AVX1: # BB#0: @@ -572,7 +572,7 @@ define i2 @v2i32(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c, <2 x i32> %d) { ; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm0 ; AVX1-NEXT: vmovmskpd %xmm0, %eax ; AVX1-NEXT: # kill: %AL %AL %EAX -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v2i32: ; AVX2: # BB#0: @@ -597,7 +597,7 @@ define i2 @v2i32(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c, <2 x i32> %d) { ; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm0 ; AVX2-NEXT: vmovmskpd %xmm0, %eax ; AVX2-NEXT: # kill: %AL %AL %EAX -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v2i32: ; AVX512F: # BB#0: @@ -614,7 +614,7 @@ define i2 @v2i32(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c, <2 x i32> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v2i32: ; AVX512BW: # BB#0: @@ -631,7 +631,7 @@ define i2 @v2i32(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c, <2 x i32> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <2 x i32> %a, %b %x1 = icmp sgt <2 x i32> %c, %d %y = and <2 x i1> %x0, %x1 @@ -666,7 +666,7 @@ define i2 @v2i64(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c, <2 x i64> %d) { ; SSE2-SSSE3-NEXT: pand %xmm1, %xmm0 ; SSE2-SSSE3-NEXT: movmskpd %xmm0, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v2i64: ; AVX12: # BB#0: @@ -675,7 +675,7 @@ define i2 @v2i64(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c, <2 x i64> %d) { ; AVX12-NEXT: vpand %xmm1, %xmm0, %xmm0 ; AVX12-NEXT: vmovmskpd %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v2i64: ; AVX512F: # BB#0: @@ -684,7 +684,7 @@ define i2 @v2i64(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c, <2 x i64> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v2i64: ; AVX512BW: # BB#0: @@ -693,7 +693,7 @@ define i2 @v2i64(<2 x i64> %a, <2 x i64> %b, <2 x i64> %c, <2 x i64> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <2 x i64> %a, %b %x1 = icmp sgt <2 x i64> %c, %d %y = and <2 x i1> %x0, %x1 @@ -709,7 +709,7 @@ define i2 @v2f64(<2 x double> %a, <2 x double> %b, <2 x double> %c, <2 x double> ; SSE2-SSSE3-NEXT: andpd %xmm1, %xmm3 ; SSE2-SSSE3-NEXT: movmskpd %xmm3, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v2f64: ; AVX12: # BB#0: @@ -718,7 +718,7 @@ define i2 @v2f64(<2 x double> %a, <2 x double> %b, <2 x double> %c, <2 x double> ; AVX12-NEXT: vandpd %xmm1, %xmm0, %xmm0 ; AVX12-NEXT: vmovmskpd %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v2f64: ; AVX512F: # BB#0: @@ -727,7 +727,7 @@ define i2 @v2f64(<2 x double> %a, <2 x double> %b, <2 x double> %c, <2 x double> ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v2f64: ; AVX512BW: # BB#0: @@ -736,7 +736,7 @@ define i2 @v2f64(<2 x double> %a, <2 x double> %b, <2 x double> %c, <2 x double> ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = fcmp ogt <2 x double> %a, %b %x1 = fcmp ogt <2 x double> %c, %d %y = and <2 x i1> %x0, %x1 @@ -760,7 +760,7 @@ define i4 @v4i8(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c, <4 x i8> %d) { ; SSE2-SSSE3-NEXT: pand %xmm2, %xmm0 ; SSE2-SSSE3-NEXT: movmskps %xmm0, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v4i8: ; AVX12: # BB#0: @@ -777,7 +777,7 @@ define i4 @v4i8(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c, <4 x i8> %d) { ; AVX12-NEXT: vpand %xmm2, %xmm0, %xmm0 ; AVX12-NEXT: vmovmskps %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v4i8: ; AVX512F: # BB#0: @@ -794,7 +794,7 @@ define i4 @v4i8(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c, <4 x i8> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v4i8: ; AVX512BW: # BB#0: @@ -811,7 +811,7 @@ define i4 @v4i8(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c, <4 x i8> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <4 x i8> %a, %b %x1 = icmp sgt <4 x i8> %c, %d %y = and <4 x i1> %x0, %x1 @@ -835,7 +835,7 @@ define i4 @v4i16(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c, <4 x i16> %d) { ; SSE2-SSSE3-NEXT: pand %xmm2, %xmm0 ; SSE2-SSSE3-NEXT: movmskps %xmm0, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v4i16: ; AVX12: # BB#0: @@ -852,7 +852,7 @@ define i4 @v4i16(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c, <4 x i16> %d) { ; AVX12-NEXT: vpand %xmm2, %xmm0, %xmm0 ; AVX12-NEXT: vmovmskps %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v4i16: ; AVX512F: # BB#0: @@ -869,7 +869,7 @@ define i4 @v4i16(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c, <4 x i16> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v4i16: ; AVX512BW: # BB#0: @@ -886,7 +886,7 @@ define i4 @v4i16(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c, <4 x i16> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <4 x i16> %a, %b %x1 = icmp sgt <4 x i16> %c, %d %y = and <4 x i1> %x0, %x1 @@ -911,7 +911,7 @@ define i8 @v8i8(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c, <8 x i8> %d) { ; SSE2-SSSE3-NEXT: packsswb %xmm0, %xmm0 ; SSE2-SSSE3-NEXT: pmovmskb %xmm0, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v8i8: ; AVX12: # BB#0: @@ -929,7 +929,7 @@ define i8 @v8i8(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c, <8 x i8> %d) { ; AVX12-NEXT: vpacksswb %xmm0, %xmm0, %xmm0 ; AVX12-NEXT: vpmovmskb %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v8i8: ; AVX512F: # BB#0: @@ -952,7 +952,7 @@ define i8 @v8i8(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c, <8 x i8> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AL %AL %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v8i8: ; AVX512BW: # BB#0: @@ -968,7 +968,7 @@ define i8 @v8i8(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c, <8 x i8> %d) { ; AVX512BW-NEXT: vpcmpgtw %xmm3, %xmm2, %k0 {%k1} ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AL %AL %EAX -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <8 x i8> %a, %b %x1 = icmp sgt <8 x i8> %c, %d %y = and <8 x i1> %x0, %x1 diff --git a/test/CodeGen/X86/bitcast-and-setcc-256.ll b/test/CodeGen/X86/bitcast-and-setcc-256.ll index a8522b3c238..e197713c679 100644 --- a/test/CodeGen/X86/bitcast-and-setcc-256.ll +++ b/test/CodeGen/X86/bitcast-and-setcc-256.ll @@ -55,7 +55,7 @@ define i4 @v4i64(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c, <4 x i64> %d) { ; SSE2-SSSE3-NEXT: andps %xmm0, %xmm2 ; SSE2-SSSE3-NEXT: movmskps %xmm2, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX1-LABEL: v4i64: ; AVX1: # BB#0: @@ -73,7 +73,7 @@ define i4 @v4i64(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c, <4 x i64> %d) { ; AVX1-NEXT: vmovmskps %xmm0, %eax ; AVX1-NEXT: # kill: %AL %AL %EAX ; AVX1-NEXT: vzeroupper -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v4i64: ; AVX2: # BB#0: @@ -87,7 +87,7 @@ define i4 @v4i64(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c, <4 x i64> %d) { ; AVX2-NEXT: vmovmskps %xmm0, %eax ; AVX2-NEXT: # kill: %AL %AL %EAX ; AVX2-NEXT: vzeroupper -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v4i64: ; AVX512F: # BB#0: @@ -97,7 +97,7 @@ define i4 @v4i64(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c, <4 x i64> %d) { ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v4i64: ; AVX512BW: # BB#0: @@ -107,7 +107,7 @@ define i4 @v4i64(<4 x i64> %a, <4 x i64> %b, <4 x i64> %c, <4 x i64> %d) { ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <4 x i64> %a, %b %x1 = icmp sgt <4 x i64> %c, %d %y = and <4 x i1> %x0, %x1 @@ -127,7 +127,7 @@ define i4 @v4f64(<4 x double> %a, <4 x double> %b, <4 x double> %c, <4 x double> ; SSE2-SSSE3-NEXT: andps %xmm2, %xmm6 ; SSE2-SSSE3-NEXT: movmskps %xmm6, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v4f64: ; AVX12: # BB#0: @@ -141,7 +141,7 @@ define i4 @v4f64(<4 x double> %a, <4 x double> %b, <4 x double> %c, <4 x double> ; AVX12-NEXT: vmovmskps %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX ; AVX12-NEXT: vzeroupper -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v4f64: ; AVX512F: # BB#0: @@ -151,7 +151,7 @@ define i4 @v4f64(<4 x double> %a, <4 x double> %b, <4 x double> %c, <4 x double> ; AVX512F-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512F-NEXT: movb -{{[0-9]+}}(%rsp), %al ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v4f64: ; AVX512BW: # BB#0: @@ -161,7 +161,7 @@ define i4 @v4f64(<4 x double> %a, <4 x double> %b, <4 x double> %c, <4 x double> ; AVX512BW-NEXT: movb %al, -{{[0-9]+}}(%rsp) ; AVX512BW-NEXT: movb -{{[0-9]+}}(%rsp), %al ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = fcmp ogt <4 x double> %a, %b %x1 = fcmp ogt <4 x double> %c, %d %y = and <4 x i1> %x0, %x1 @@ -181,7 +181,7 @@ define i16 @v16i16(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c, <16 x i16> %d) { ; SSE2-SSSE3-NEXT: pand %xmm0, %xmm4 ; SSE2-SSSE3-NEXT: pmovmskb %xmm4, %eax ; SSE2-SSSE3-NEXT: # kill: %AX %AX %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX1-LABEL: v16i16: ; AVX1: # BB#0: @@ -199,7 +199,7 @@ define i16 @v16i16(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c, <16 x i16> %d) { ; AVX1-NEXT: vpmovmskb %xmm0, %eax ; AVX1-NEXT: # kill: %AX %AX %EAX ; AVX1-NEXT: vzeroupper -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v16i16: ; AVX2: # BB#0: @@ -213,7 +213,7 @@ define i16 @v16i16(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c, <16 x i16> %d) { ; AVX2-NEXT: vpmovmskb %xmm0, %eax ; AVX2-NEXT: # kill: %AX %AX %EAX ; AVX2-NEXT: vzeroupper -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v16i16: ; AVX512F: # BB#0: @@ -228,7 +228,7 @@ define i16 @v16i16(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c, <16 x i16> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AX %AX %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v16i16: ; AVX512BW: # BB#0: @@ -237,7 +237,7 @@ define i16 @v16i16(<16 x i16> %a, <16 x i16> %b, <16 x i16> %c, <16 x i16> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AX %AX %EAX ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <16 x i16> %a, %b %x1 = icmp sgt <16 x i16> %c, %d %y = and <16 x i1> %x0, %x1 @@ -258,7 +258,7 @@ define i8 @v8i32(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c, <8 x i32> %d) { ; SSE2-SSSE3-NEXT: packsswb %xmm0, %xmm4 ; SSE2-SSSE3-NEXT: pmovmskb %xmm4, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX1-LABEL: v8i32: ; AVX1: # BB#0: @@ -277,7 +277,7 @@ define i8 @v8i32(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c, <8 x i32> %d) { ; AVX1-NEXT: vpmovmskb %xmm0, %eax ; AVX1-NEXT: # kill: %AL %AL %EAX ; AVX1-NEXT: vzeroupper -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v8i32: ; AVX2: # BB#0: @@ -292,7 +292,7 @@ define i8 @v8i32(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c, <8 x i32> %d) { ; AVX2-NEXT: vpmovmskb %xmm0, %eax ; AVX2-NEXT: # kill: %AL %AL %EAX ; AVX2-NEXT: vzeroupper -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v8i32: ; AVX512F: # BB#0: @@ -301,7 +301,7 @@ define i8 @v8i32(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c, <8 x i32> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AL %AL %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v8i32: ; AVX512BW: # BB#0: @@ -310,7 +310,7 @@ define i8 @v8i32(<8 x i32> %a, <8 x i32> %b, <8 x i32> %c, <8 x i32> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AL %AL %EAX ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <8 x i32> %a, %b %x1 = icmp sgt <8 x i32> %c, %d %y = and <8 x i1> %x0, %x1 @@ -331,7 +331,7 @@ define i8 @v8f32(<8 x float> %a, <8 x float> %b, <8 x float> %c, <8 x float> %d) ; SSE2-SSSE3-NEXT: packsswb %xmm0, %xmm6 ; SSE2-SSSE3-NEXT: pmovmskb %xmm6, %eax ; SSE2-SSSE3-NEXT: # kill: %AL %AL %EAX -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX12-LABEL: v8f32: ; AVX12: # BB#0: @@ -346,7 +346,7 @@ define i8 @v8f32(<8 x float> %a, <8 x float> %b, <8 x float> %c, <8 x float> %d) ; AVX12-NEXT: vpmovmskb %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX ; AVX12-NEXT: vzeroupper -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v8f32: ; AVX512F: # BB#0: @@ -355,7 +355,7 @@ define i8 @v8f32(<8 x float> %a, <8 x float> %b, <8 x float> %c, <8 x float> %d) ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AL %AL %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v8f32: ; AVX512BW: # BB#0: @@ -364,7 +364,7 @@ define i8 @v8f32(<8 x float> %a, <8 x float> %b, <8 x float> %c, <8 x float> %d) ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AL %AL %EAX ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = fcmp ogt <8 x float> %a, %b %x1 = fcmp ogt <8 x float> %c, %d %y = and <8 x i1> %x0, %x1 @@ -385,7 +385,7 @@ define i32 @v32i8(<32 x i8> %a, <32 x i8> %b, <32 x i8> %c, <32 x i8> %d) { ; SSE2-SSSE3-NEXT: pmovmskb %xmm5, %eax ; SSE2-SSSE3-NEXT: shll $16, %eax ; SSE2-SSSE3-NEXT: orl %ecx, %eax -; SSE2-SSSE3-NEXT: ret{{[l|q]}} +; SSE2-SSSE3-NEXT: retq ; ; AVX1-LABEL: v32i8: ; AVX1: # BB#0: @@ -404,7 +404,7 @@ define i32 @v32i8(<32 x i8> %a, <32 x i8> %b, <32 x i8> %c, <32 x i8> %d) { ; AVX1-NEXT: shll $16, %eax ; AVX1-NEXT: orl %ecx, %eax ; AVX1-NEXT: vzeroupper -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v32i8: ; AVX2: # BB#0: @@ -413,7 +413,7 @@ define i32 @v32i8(<32 x i8> %a, <32 x i8> %b, <32 x i8> %c, <32 x i8> %d) { ; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0 ; AVX2-NEXT: vpmovmskb %ymm0, %eax ; AVX2-NEXT: vzeroupper -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v32i8: ; AVX512F: # BB#0: @@ -440,7 +440,7 @@ define i32 @v32i8(<32 x i8> %a, <32 x i8> %b, <32 x i8> %c, <32 x i8> %d) { ; AVX512F-NEXT: movq %rbp, %rsp ; AVX512F-NEXT: popq %rbp ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v32i8: ; AVX512BW: # BB#0: @@ -448,7 +448,7 @@ define i32 @v32i8(<32 x i8> %a, <32 x i8> %b, <32 x i8> %c, <32 x i8> %d) { ; AVX512BW-NEXT: vpcmpgtb %ymm3, %ymm2, %k0 {%k1} ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <32 x i8> %a, %b %x1 = icmp sgt <32 x i8> %c, %d %y = and <32 x i1> %x0, %x1 diff --git a/test/CodeGen/X86/bitcast-and-setcc-512.ll b/test/CodeGen/X86/bitcast-and-setcc-512.ll index 3ee23be73cc..f6cfbbb4044 100644 --- a/test/CodeGen/X86/bitcast-and-setcc-512.ll +++ b/test/CodeGen/X86/bitcast-and-setcc-512.ll @@ -42,7 +42,7 @@ define i8 @v8i64(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c, <8 x i64> %d) { ; SSE-NEXT: packsswb %xmm0, %xmm8 ; SSE-NEXT: pmovmskb %xmm8, %eax ; SSE-NEXT: # kill: %AL %AL %EAX -; SSE-NEXT: ret{{[l|q]}} +; SSE-NEXT: retq ; ; AVX1-LABEL: v8i64: ; AVX1: # BB#0: @@ -78,7 +78,7 @@ define i8 @v8i64(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c, <8 x i64> %d) { ; AVX1-NEXT: vpmovmskb %xmm0, %eax ; AVX1-NEXT: # kill: %AL %AL %EAX ; AVX1-NEXT: vzeroupper -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v8i64: ; AVX2: # BB#0: @@ -106,7 +106,7 @@ define i8 @v8i64(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c, <8 x i64> %d) { ; AVX2-NEXT: vpmovmskb %xmm0, %eax ; AVX2-NEXT: # kill: %AL %AL %EAX ; AVX2-NEXT: vzeroupper -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v8i64: ; AVX512F: # BB#0: @@ -115,7 +115,7 @@ define i8 @v8i64(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c, <8 x i64> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AL %AL %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v8i64: ; AVX512BW: # BB#0: @@ -124,7 +124,7 @@ define i8 @v8i64(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c, <8 x i64> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AL %AL %EAX ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <8 x i64> %a, %b %x1 = icmp sgt <8 x i64> %c, %d %y = and <8 x i1> %x0, %x1 @@ -169,7 +169,7 @@ define i8 @v8f64(<8 x double> %a, <8 x double> %b, <8 x double> %c, <8 x double> ; SSE-NEXT: packsswb %xmm0, %xmm8 ; SSE-NEXT: pmovmskb %xmm8, %eax ; SSE-NEXT: # kill: %AL %AL %EAX -; SSE-NEXT: ret{{[l|q]}} +; SSE-NEXT: retq ; ; AVX12-LABEL: v8f64: ; AVX12: # BB#0: @@ -197,7 +197,7 @@ define i8 @v8f64(<8 x double> %a, <8 x double> %b, <8 x double> %c, <8 x double> ; AVX12-NEXT: vpmovmskb %xmm0, %eax ; AVX12-NEXT: # kill: %AL %AL %EAX ; AVX12-NEXT: vzeroupper -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v8f64: ; AVX512F: # BB#0: @@ -206,7 +206,7 @@ define i8 @v8f64(<8 x double> %a, <8 x double> %b, <8 x double> %c, <8 x double> ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AL %AL %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v8f64: ; AVX512BW: # BB#0: @@ -215,7 +215,7 @@ define i8 @v8f64(<8 x double> %a, <8 x double> %b, <8 x double> %c, <8 x double> ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AL %AL %EAX ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = fcmp ogt <8 x double> %a, %b %x1 = fcmp ogt <8 x double> %c, %d %y = and <8 x i1> %x0, %x1 @@ -248,7 +248,7 @@ define i32 @v32i16(<32 x i16> %a, <32 x i16> %b, <32 x i16> %c, <32 x i16> %d) { ; SSE-NEXT: pmovmskb %xmm8, %eax ; SSE-NEXT: shll $16, %eax ; SSE-NEXT: orl %ecx, %eax -; SSE-NEXT: ret{{[l|q]}} +; SSE-NEXT: retq ; ; AVX1-LABEL: v32i16: ; AVX1: # BB#0: @@ -279,7 +279,7 @@ define i32 @v32i16(<32 x i16> %a, <32 x i16> %b, <32 x i16> %c, <32 x i16> %d) { ; AVX1-NEXT: shll $16, %eax ; AVX1-NEXT: orl %ecx, %eax ; AVX1-NEXT: vzeroupper -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v32i16: ; AVX2: # BB#0: @@ -300,7 +300,7 @@ define i32 @v32i16(<32 x i16> %a, <32 x i16> %b, <32 x i16> %c, <32 x i16> %d) { ; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0 ; AVX2-NEXT: vpmovmskb %ymm0, %eax ; AVX2-NEXT: vzeroupper -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v32i16: ; AVX512F: # BB#0: @@ -595,7 +595,7 @@ define i32 @v32i16(<32 x i16> %a, <32 x i16> %b, <32 x i16> %c, <32 x i16> %d) { ; AVX512F-NEXT: movq %rbp, %rsp ; AVX512F-NEXT: popq %rbp ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v32i16: ; AVX512BW: # BB#0: @@ -603,7 +603,7 @@ define i32 @v32i16(<32 x i16> %a, <32 x i16> %b, <32 x i16> %c, <32 x i16> %d) { ; AVX512BW-NEXT: vpcmpgtw %zmm3, %zmm2, %k0 {%k1} ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <32 x i16> %a, %b %x1 = icmp sgt <32 x i16> %c, %d %y = and <32 x i1> %x0, %x1 @@ -635,7 +635,7 @@ define i16 @v16i32(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c, <16 x i32> %d) { ; SSE-NEXT: pand %xmm0, %xmm8 ; SSE-NEXT: pmovmskb %xmm8, %eax ; SSE-NEXT: # kill: %AX %AX %EAX -; SSE-NEXT: ret{{[l|q]}} +; SSE-NEXT: retq ; ; AVX1-LABEL: v16i32: ; AVX1: # BB#0: @@ -665,7 +665,7 @@ define i16 @v16i32(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c, <16 x i32> %d) { ; AVX1-NEXT: vpmovmskb %xmm0, %eax ; AVX1-NEXT: # kill: %AX %AX %EAX ; AVX1-NEXT: vzeroupper -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v16i32: ; AVX2: # BB#0: @@ -687,7 +687,7 @@ define i16 @v16i32(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c, <16 x i32> %d) { ; AVX2-NEXT: vpmovmskb %xmm0, %eax ; AVX2-NEXT: # kill: %AX %AX %EAX ; AVX2-NEXT: vzeroupper -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v16i32: ; AVX512F: # BB#0: @@ -696,7 +696,7 @@ define i16 @v16i32(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c, <16 x i32> %d) { ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AX %AX %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v16i32: ; AVX512BW: # BB#0: @@ -705,7 +705,7 @@ define i16 @v16i32(<16 x i32> %a, <16 x i32> %b, <16 x i32> %c, <16 x i32> %d) { ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AX %AX %EAX ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <16 x i32> %a, %b %x1 = icmp sgt <16 x i32> %c, %d %y = and <16 x i1> %x0, %x1 @@ -737,7 +737,7 @@ define i16 @v16f32(<16 x float> %a, <16 x float> %b, <16 x float> %c, <16 x floa ; SSE-NEXT: pand %xmm4, %xmm8 ; SSE-NEXT: pmovmskb %xmm8, %eax ; SSE-NEXT: # kill: %AX %AX %EAX -; SSE-NEXT: ret{{[l|q]}} +; SSE-NEXT: retq ; ; AVX12-LABEL: v16f32: ; AVX12: # BB#0: @@ -759,7 +759,7 @@ define i16 @v16f32(<16 x float> %a, <16 x float> %b, <16 x float> %c, <16 x floa ; AVX12-NEXT: vpmovmskb %xmm0, %eax ; AVX12-NEXT: # kill: %AX %AX %EAX ; AVX12-NEXT: vzeroupper -; AVX12-NEXT: ret{{[l|q]}} +; AVX12-NEXT: retq ; ; AVX512F-LABEL: v16f32: ; AVX512F: # BB#0: @@ -768,7 +768,7 @@ define i16 @v16f32(<16 x float> %a, <16 x float> %b, <16 x float> %c, <16 x floa ; AVX512F-NEXT: kmovw %k0, %eax ; AVX512F-NEXT: # kill: %AX %AX %EAX ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v16f32: ; AVX512BW: # BB#0: @@ -777,7 +777,7 @@ define i16 @v16f32(<16 x float> %a, <16 x float> %b, <16 x float> %c, <16 x floa ; AVX512BW-NEXT: kmovd %k0, %eax ; AVX512BW-NEXT: # kill: %AX %AX %EAX ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = fcmp ogt <16 x float> %a, %b %x1 = fcmp ogt <16 x float> %c, %d %y = and <16 x i1> %x0, %x1 @@ -1006,7 +1006,7 @@ define i64 @v64i8(<64 x i8> %a, <64 x i8> %b, <64 x i8> %c, <64 x i8> %d) { ; SSE-NEXT: orl %edx, %eax ; SSE-NEXT: shlq $32, %rax ; SSE-NEXT: orq %rcx, %rax -; SSE-NEXT: ret{{[l|q]}} +; SSE-NEXT: retq ; ; AVX1-LABEL: v64i8: ; AVX1: # BB#0: @@ -1240,7 +1240,7 @@ define i64 @v64i8(<64 x i8> %a, <64 x i8> %b, <64 x i8> %c, <64 x i8> %d) { ; AVX1-NEXT: movq %rbp, %rsp ; AVX1-NEXT: popq %rbp ; AVX1-NEXT: vzeroupper -; AVX1-NEXT: ret{{[l|q]}} +; AVX1-NEXT: retq ; ; AVX2-LABEL: v64i8: ; AVX2: # BB#0: @@ -1458,7 +1458,7 @@ define i64 @v64i8(<64 x i8> %a, <64 x i8> %b, <64 x i8> %c, <64 x i8> %d) { ; AVX2-NEXT: movq %rbp, %rsp ; AVX2-NEXT: popq %rbp ; AVX2-NEXT: vzeroupper -; AVX2-NEXT: ret{{[l|q]}} +; AVX2-NEXT: retq ; ; AVX512F-LABEL: v64i8: ; AVX512F: # BB#0: @@ -1500,7 +1500,7 @@ define i64 @v64i8(<64 x i8> %a, <64 x i8> %b, <64 x i8> %c, <64 x i8> %d) { ; AVX512F-NEXT: movq %rbp, %rsp ; AVX512F-NEXT: popq %rbp ; AVX512F-NEXT: vzeroupper -; AVX512F-NEXT: ret{{[l|q]}} +; AVX512F-NEXT: retq ; ; AVX512BW-LABEL: v64i8: ; AVX512BW: # BB#0: @@ -1508,7 +1508,7 @@ define i64 @v64i8(<64 x i8> %a, <64 x i8> %b, <64 x i8> %c, <64 x i8> %d) { ; AVX512BW-NEXT: vpcmpgtb %zmm3, %zmm2, %k0 {%k1} ; AVX512BW-NEXT: kmovq %k0, %rax ; AVX512BW-NEXT: vzeroupper -; AVX512BW-NEXT: ret{{[l|q]}} +; AVX512BW-NEXT: retq %x0 = icmp sgt <64 x i8> %a, %b %x1 = icmp sgt <64 x i8> %c, %d %y = and <64 x i1> %x0, %x1