[llvm] r349317 - Regenerate test (merges X86+X64 cases). NFCI.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 16 11:07:57 PST 2018


Author: rksimon
Date: Sun Dec 16 11:07:57 2018
New Revision: 349317

URL: http://llvm.org/viewvc/llvm-project?rev=349317&view=rev
Log:
Regenerate test (merges X86+X64 cases). NFCI. 

Modified:
    llvm/trunk/test/CodeGen/X86/xop-intrinsics-fast-isel.ll

Modified: llvm/trunk/test/CodeGen/X86/xop-intrinsics-fast-isel.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/xop-intrinsics-fast-isel.ll?rev=349317&r1=349316&r2=349317&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/xop-intrinsics-fast-isel.ll (original)
+++ llvm/trunk/test/CodeGen/X86/xop-intrinsics-fast-isel.ll Sun Dec 16 11:07:57 2018
@@ -5,15 +5,10 @@
 ; NOTE: This should use IR equivalent to what is generated by clang/test/CodeGen/xop-builtins.c
 
 define <2 x i64> @test_mm_maccs_epi16(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_maccs_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacssww %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_maccs_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacssww %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_maccs_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacssww %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %arg2 = bitcast <2 x i64> %a2 to <8 x i16>
@@ -24,15 +19,10 @@ define <2 x i64> @test_mm_maccs_epi16(<2
 declare <8 x i16> @llvm.x86.xop.vpmacssww(<8 x i16>, <8 x i16>, <8 x i16>) nounwind readnone
 
 define <2 x i64> @test_mm_macc_epi16(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_macc_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacsww %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_macc_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacsww %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_macc_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacsww %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %arg2 = bitcast <2 x i64> %a2 to <8 x i16>
@@ -43,15 +33,10 @@ define <2 x i64> @test_mm_macc_epi16(<2
 declare <8 x i16> @llvm.x86.xop.vpmacsww(<8 x i16>, <8 x i16>, <8 x i16>) nounwind readnone
 
 define <2 x i64> @test_mm_maccsd_epi16(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_maccsd_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacsswd %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_maccsd_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacsswd %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_maccsd_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacsswd %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %arg2 = bitcast <2 x i64> %a2 to <4 x i32>
@@ -62,15 +47,10 @@ define <2 x i64> @test_mm_maccsd_epi16(<
 declare <4 x i32> @llvm.x86.xop.vpmacsswd(<8 x i16>, <8 x i16>, <4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_maccd_epi16(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_maccd_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacswd %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_maccd_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacswd %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_maccd_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacswd %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %arg2 = bitcast <2 x i64> %a2 to <4 x i32>
@@ -81,15 +61,10 @@ define <2 x i64> @test_mm_maccd_epi16(<2
 declare <4 x i32> @llvm.x86.xop.vpmacswd(<8 x i16>, <8 x i16>, <4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_maccs_epi32(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_maccs_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacssdd %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_maccs_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacssdd %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_maccs_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacssdd %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %arg2 = bitcast <2 x i64> %a2 to <4 x i32>
@@ -100,15 +75,10 @@ define <2 x i64> @test_mm_maccs_epi32(<2
 declare <4 x i32> @llvm.x86.xop.vpmacssdd(<4 x i32>, <4 x i32>, <4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_macc_epi32(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_macc_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacsdd %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_macc_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacsdd %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_macc_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacsdd %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %arg2 = bitcast <2 x i64> %a2 to <4 x i32>
@@ -119,15 +89,10 @@ define <2 x i64> @test_mm_macc_epi32(<2
 declare <4 x i32> @llvm.x86.xop.vpmacsdd(<4 x i32>, <4 x i32>, <4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_maccslo_epi32(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_maccslo_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacssdql %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_maccslo_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacssdql %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_maccslo_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacssdql %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %res = call <2 x i64> @llvm.x86.xop.vpmacssdql(<4 x i32> %arg0, <4 x i32> %arg1, <2 x i64> %a2)
@@ -136,15 +101,10 @@ define <2 x i64> @test_mm_maccslo_epi32(
 declare <2 x i64> @llvm.x86.xop.vpmacssdql(<4 x i32>, <4 x i32>, <2 x i64>) nounwind readnone
 
 define <2 x i64> @test_mm_macclo_epi32(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_macclo_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacsdql %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_macclo_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacsdql %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_macclo_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacsdql %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %res = call <2 x i64> @llvm.x86.xop.vpmacsdql(<4 x i32> %arg0, <4 x i32> %arg1, <2 x i64> %a2)
@@ -153,15 +113,10 @@ define <2 x i64> @test_mm_macclo_epi32(<
 declare <2 x i64> @llvm.x86.xop.vpmacsdql(<4 x i32>, <4 x i32>, <2 x i64>) nounwind readnone
 
 define <2 x i64> @test_mm_maccshi_epi32(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_maccshi_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacssdqh %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_maccshi_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacssdqh %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_maccshi_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacssdqh %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %res = call <2 x i64> @llvm.x86.xop.vpmacssdqh(<4 x i32> %arg0, <4 x i32> %arg1, <2 x i64> %a2)
@@ -170,15 +125,10 @@ define <2 x i64> @test_mm_maccshi_epi32(
 declare <2 x i64> @llvm.x86.xop.vpmacssdqh(<4 x i32>, <4 x i32>, <2 x i64>) nounwind readnone
 
 define <2 x i64> @test_mm_macchi_epi32(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_macchi_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmacsdqh %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_macchi_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmacsdqh %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_macchi_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmacsdqh %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %res = call <2 x i64> @llvm.x86.xop.vpmacsdqh(<4 x i32> %arg0, <4 x i32> %arg1, <2 x i64> %a2)
@@ -187,15 +137,10 @@ define <2 x i64> @test_mm_macchi_epi32(<
 declare <2 x i64> @llvm.x86.xop.vpmacsdqh(<4 x i32>, <4 x i32>, <2 x i64>) nounwind readnone
 
 define <2 x i64> @test_mm_maddsd_epi16(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_maddsd_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmadcsswd %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_maddsd_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmadcsswd %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_maddsd_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmadcsswd %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %arg2 = bitcast <2 x i64> %a2 to <4 x i32>
@@ -206,15 +151,10 @@ define <2 x i64> @test_mm_maddsd_epi16(<
 declare <4 x i32> @llvm.x86.xop.vpmadcsswd(<8 x i16>, <8 x i16>, <4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_maddd_epi16(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) nounwind {
-; X32-LABEL: test_mm_maddd_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpmadcswd %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_maddd_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpmadcswd %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_maddd_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpmadcswd %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %arg2 = bitcast <2 x i64> %a2 to <4 x i32>
@@ -225,15 +165,10 @@ define <2 x i64> @test_mm_maddd_epi16(<2
 declare <4 x i32> @llvm.x86.xop.vpmadcswd(<8 x i16>, <8 x i16>, <4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_haddw_epi8(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddw_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vphaddbw %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddw_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vphaddbw %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddw_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphaddbw %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %res = call <8 x i16> @llvm.x86.xop.vphaddbw(<16 x i8> %arg0)
   %bc = bitcast <8 x i16> %res to <2 x i64>
@@ -242,15 +177,10 @@ define <2 x i64> @test_mm_haddw_epi8(<2
 declare <8 x i16> @llvm.x86.xop.vphaddbw(<16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_haddd_epi8(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddd_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vphaddbd %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddd_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vphaddbd %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddd_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphaddbd %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %res = call <4 x i32> @llvm.x86.xop.vphaddbd(<16 x i8> %arg0)
   %bc = bitcast <4 x i32> %res to <2 x i64>
@@ -259,15 +189,10 @@ define <2 x i64> @test_mm_haddd_epi8(<2
 declare <4 x i32> @llvm.x86.xop.vphaddbd(<16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_haddq_epi8(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddq_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vphaddbq %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddq_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vphaddbq %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddq_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphaddbq %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %res = call <2 x i64> @llvm.x86.xop.vphaddbq(<16 x i8> %arg0)
   ret <2 x i64> %res
@@ -275,15 +200,10 @@ define <2 x i64> @test_mm_haddq_epi8(<2
 declare <2 x i64> @llvm.x86.xop.vphaddbq(<16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_haddd_epi16(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddd_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vphaddwd %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddd_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vphaddwd %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddd_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphaddwd %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %res = call <4 x i32> @llvm.x86.xop.vphaddwd(<8 x i16> %arg0)
   %bc = bitcast <4 x i32> %res to <2 x i64>
@@ -292,15 +212,10 @@ define <2 x i64> @test_mm_haddd_epi16(<2
 declare <4 x i32> @llvm.x86.xop.vphaddwd(<8 x i16>) nounwind readnone
 
 define <2 x i64> @test_mm_haddq_epi16(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddq_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vphaddwq %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddq_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vphaddwq %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddq_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphaddwq %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %res = call <2 x i64> @llvm.x86.xop.vphaddwq(<8 x i16> %arg0)
   ret <2 x i64> %res
@@ -308,15 +223,10 @@ define <2 x i64> @test_mm_haddq_epi16(<2
 declare <2 x i64> @llvm.x86.xop.vphaddwq(<8 x i16>) nounwind readnone
 
 define <2 x i64> @test_mm_haddq_epi32(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddq_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vphadddq %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddq_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vphadddq %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddq_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphadddq %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %res = call <2 x i64> @llvm.x86.xop.vphadddq(<4 x i32> %arg0)
   ret <2 x i64> %res
@@ -324,15 +234,10 @@ define <2 x i64> @test_mm_haddq_epi32(<2
 declare <2 x i64> @llvm.x86.xop.vphadddq(<4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_haddw_epu8(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddw_epu8:
-; X32:       # %bb.0:
-; X32-NEXT:    vphaddubw %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddw_epu8:
-; X64:       # %bb.0:
-; X64-NEXT:    vphaddubw %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddw_epu8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphaddubw %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %res = call <8 x i16> @llvm.x86.xop.vphaddubw(<16 x i8> %arg0)
   %bc = bitcast <8 x i16> %res to <2 x i64>
@@ -341,15 +246,10 @@ define <2 x i64> @test_mm_haddw_epu8(<2
 declare <8 x i16> @llvm.x86.xop.vphaddubw(<16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_haddd_epu8(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddd_epu8:
-; X32:       # %bb.0:
-; X32-NEXT:    vphaddubd %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddd_epu8:
-; X64:       # %bb.0:
-; X64-NEXT:    vphaddubd %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddd_epu8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphaddubd %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %res = call <4 x i32> @llvm.x86.xop.vphaddubd(<16 x i8> %arg0)
   %bc = bitcast <4 x i32> %res to <2 x i64>
@@ -358,15 +258,10 @@ define <2 x i64> @test_mm_haddd_epu8(<2
 declare <4 x i32> @llvm.x86.xop.vphaddubd(<16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_haddq_epu8(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddq_epu8:
-; X32:       # %bb.0:
-; X32-NEXT:    vphaddubq %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddq_epu8:
-; X64:       # %bb.0:
-; X64-NEXT:    vphaddubq %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddq_epu8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphaddubq %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %res = call <2 x i64> @llvm.x86.xop.vphaddubq(<16 x i8> %arg0)
   ret <2 x i64> %res
@@ -374,15 +269,10 @@ define <2 x i64> @test_mm_haddq_epu8(<2
 declare <2 x i64> @llvm.x86.xop.vphaddubq(<16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_haddd_epu16(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddd_epu16:
-; X32:       # %bb.0:
-; X32-NEXT:    vphadduwd %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddd_epu16:
-; X64:       # %bb.0:
-; X64-NEXT:    vphadduwd %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddd_epu16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphadduwd %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %res = call <4 x i32> @llvm.x86.xop.vphadduwd(<8 x i16> %arg0)
   %bc = bitcast <4 x i32> %res to <2 x i64>
@@ -392,15 +282,10 @@ declare <4 x i32> @llvm.x86.xop.vphadduw
 
 
 define <2 x i64> @test_mm_haddq_epu16(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddq_epu16:
-; X32:       # %bb.0:
-; X32-NEXT:    vphadduwq %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddq_epu16:
-; X64:       # %bb.0:
-; X64-NEXT:    vphadduwq %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddq_epu16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphadduwq %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %res = call <2 x i64> @llvm.x86.xop.vphadduwq(<8 x i16> %arg0)
   ret <2 x i64> %res
@@ -408,15 +293,10 @@ define <2 x i64> @test_mm_haddq_epu16(<2
 declare <2 x i64> @llvm.x86.xop.vphadduwq(<8 x i16>) nounwind readnone
 
 define <2 x i64> @test_mm_haddq_epu32(<2 x i64> %a0) {
-; X32-LABEL: test_mm_haddq_epu32:
-; X32:       # %bb.0:
-; X32-NEXT:    vphaddudq %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_haddq_epu32:
-; X64:       # %bb.0:
-; X64-NEXT:    vphaddudq %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_haddq_epu32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphaddudq %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %res = call <2 x i64> @llvm.x86.xop.vphaddudq(<4 x i32> %arg0)
   ret <2 x i64> %res
@@ -424,15 +304,10 @@ define <2 x i64> @test_mm_haddq_epu32(<2
 declare <2 x i64> @llvm.x86.xop.vphaddudq(<4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_hsubw_epi8(<2 x i64> %a0) {
-; X32-LABEL: test_mm_hsubw_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vphsubbw %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_hsubw_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vphsubbw %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_hsubw_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphsubbw %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %res = call <8 x i16> @llvm.x86.xop.vphsubbw(<16 x i8> %arg0)
   %bc = bitcast <8 x i16> %res to <2 x i64>
@@ -441,15 +316,10 @@ define <2 x i64> @test_mm_hsubw_epi8(<2
 declare <8 x i16> @llvm.x86.xop.vphsubbw(<16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_hsubd_epi16(<2 x i64> %a0) {
-; X32-LABEL: test_mm_hsubd_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vphsubwd %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_hsubd_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vphsubwd %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_hsubd_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphsubwd %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %res = call <4 x i32> @llvm.x86.xop.vphsubwd(<8 x i16> %arg0)
   %bc = bitcast <4 x i32> %res to <2 x i64>
@@ -458,15 +328,10 @@ define <2 x i64> @test_mm_hsubd_epi16(<2
 declare <4 x i32> @llvm.x86.xop.vphsubwd(<8 x i16>) nounwind readnone
 
 define <2 x i64> @test_mm_hsubq_epi32(<2 x i64> %a0) {
-; X32-LABEL: test_mm_hsubq_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vphsubdq %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_hsubq_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vphsubdq %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_hsubq_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vphsubdq %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %res = call <2 x i64> @llvm.x86.xop.vphsubdq(<4 x i32> %arg0)
   ret <2 x i64> %res
@@ -474,63 +339,39 @@ define <2 x i64> @test_mm_hsubq_epi32(<2
 declare <2 x i64> @llvm.x86.xop.vphsubdq(<4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_cmov_si128(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) {
-; X32-LABEL: test_mm_cmov_si128:
-; X32:       # %bb.0:
-; X32-NEXT:    vpcmpeqd %xmm3, %xmm3, %xmm3
-; X32-NEXT:    vpxor %xmm3, %xmm2, %xmm3
-; X32-NEXT:    vpand %xmm2, %xmm0, %xmm0
-; X32-NEXT:    vpand %xmm3, %xmm1, %xmm1
-; X32-NEXT:    vpor %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_cmov_si128:
-; X64:       # %bb.0:
-; X64-NEXT:    vpcmpeqd %xmm3, %xmm3, %xmm3
-; X64-NEXT:    vpxor %xmm3, %xmm2, %xmm3
-; X64-NEXT:    vpand %xmm2, %xmm0, %xmm0
-; X64-NEXT:    vpand %xmm3, %xmm1, %xmm1
-; X64-NEXT:    vpor %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_cmov_si128:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpcmpeqd %xmm3, %xmm3, %xmm3
+; ALL-NEXT:    vpxor %xmm3, %xmm2, %xmm3
+; ALL-NEXT:    vpand %xmm2, %xmm0, %xmm0
+; ALL-NEXT:    vpand %xmm3, %xmm1, %xmm1
+; ALL-NEXT:    vpor %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x i64> @llvm.x86.xop.vpcmov(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2)
   ret <2 x i64> %res
 }
 declare <2 x i64> @llvm.x86.xop.vpcmov(<2 x i64>, <2 x i64>, <2 x i64>) nounwind readnone
 
 define <4 x i64> @test_mm256_cmov_si256(<4 x i64> %a0, <4 x i64> %a1, <4 x i64> %a2) {
-; X32-LABEL: test_mm256_cmov_si256:
-; X32:       # %bb.0:
-; X32-NEXT:    vxorps %xmm3, %xmm3, %xmm3
-; X32-NEXT:    vcmptrueps %ymm3, %ymm3, %ymm3
-; X32-NEXT:    vxorps %ymm3, %ymm2, %ymm3
-; X32-NEXT:    vandps %ymm2, %ymm0, %ymm0
-; X32-NEXT:    vandps %ymm3, %ymm1, %ymm1
-; X32-NEXT:    vorps %ymm1, %ymm0, %ymm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm256_cmov_si256:
-; X64:       # %bb.0:
-; X64-NEXT:    vxorps %xmm3, %xmm3, %xmm3
-; X64-NEXT:    vcmptrueps %ymm3, %ymm3, %ymm3
-; X64-NEXT:    vxorps %ymm3, %ymm2, %ymm3
-; X64-NEXT:    vandps %ymm2, %ymm0, %ymm0
-; X64-NEXT:    vandps %ymm3, %ymm1, %ymm1
-; X64-NEXT:    vorps %ymm1, %ymm0, %ymm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm256_cmov_si256:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vxorps %xmm3, %xmm3, %xmm3
+; ALL-NEXT:    vcmptrueps %ymm3, %ymm3, %ymm3
+; ALL-NEXT:    vxorps %ymm3, %ymm2, %ymm3
+; ALL-NEXT:    vandps %ymm2, %ymm0, %ymm0
+; ALL-NEXT:    vandps %ymm3, %ymm1, %ymm1
+; ALL-NEXT:    vorps %ymm1, %ymm0, %ymm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <4 x i64> @llvm.x86.xop.vpcmov.256(<4 x i64> %a0, <4 x i64> %a1, <4 x i64> %a2)
   ret <4 x i64> %res
 }
 declare <4 x i64> @llvm.x86.xop.vpcmov.256(<4 x i64>, <4 x i64>, <4 x i64>) nounwind readnone
 
 define <2 x i64> @test_mm_perm_epi8(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> %a2) {
-; X32-LABEL: test_mm_perm_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vpperm %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_perm_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vpperm %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_perm_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpperm %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %arg1 = bitcast <2 x i64> %a1 to <16 x i8>
   %arg2 = bitcast <2 x i64> %a2 to <16 x i8>
@@ -541,15 +382,10 @@ define <2 x i64> @test_mm_perm_epi8(<2 x
 declare <16 x i8> @llvm.x86.xop.vpperm(<16 x i8>, <16 x i8>, <16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_rot_epi8(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_rot_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vprotb %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_rot_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vprotb %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_rot_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vprotb %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %arg1 = bitcast <2 x i64> %a1 to <16 x i8>
   %res = call <16 x i8> @llvm.x86.xop.vprotb(<16 x i8> %arg0, <16 x i8> %arg1)
@@ -559,15 +395,10 @@ define <2 x i64> @test_mm_rot_epi8(<2 x
 declare <16 x i8> @llvm.x86.xop.vprotb(<16 x i8>, <16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_rot_epi16(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_rot_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vprotw %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_rot_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vprotw %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_rot_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vprotw %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %res = call <8 x i16> @llvm.x86.xop.vprotw(<8 x i16> %arg0, <8 x i16> %arg1)
@@ -577,15 +408,10 @@ define <2 x i64> @test_mm_rot_epi16(<2 x
 declare <8 x i16> @llvm.x86.xop.vprotw(<8 x i16>, <8 x i16>) nounwind readnone
 
 define <2 x i64> @test_mm_rot_epi32(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_rot_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vprotd %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_rot_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vprotd %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_rot_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vprotd %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %res = call <4 x i32> @llvm.x86.xop.vprotd(<4 x i32> %arg0, <4 x i32> %arg1)
@@ -595,30 +421,20 @@ define <2 x i64> @test_mm_rot_epi32(<2 x
 declare <4 x i32> @llvm.x86.xop.vprotd(<4 x i32>, <4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_rot_epi64(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_rot_epi64:
-; X32:       # %bb.0:
-; X32-NEXT:    vprotq %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_rot_epi64:
-; X64:       # %bb.0:
-; X64-NEXT:    vprotq %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_rot_epi64:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vprotq %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x i64> @llvm.x86.xop.vprotq(<2 x i64> %a0, <2 x i64> %a1)
   ret <2 x i64> %res
 }
 declare <2 x i64> @llvm.x86.xop.vprotq(<2 x i64>, <2 x i64>) nounwind readnone
 
 define <2 x i64> @test_mm_roti_epi8(<2 x i64> %a0) {
-; X32-LABEL: test_mm_roti_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vprotb $1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_roti_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vprotb $1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_roti_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vprotb $1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %res = call <16 x i8> @llvm.x86.xop.vprotbi(<16 x i8> %arg0, i8 1)
   %bc = bitcast <16 x i8> %res to <2 x i64>
@@ -627,15 +443,10 @@ define <2 x i64> @test_mm_roti_epi8(<2 x
 declare <16 x i8> @llvm.x86.xop.vprotbi(<16 x i8>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_roti_epi16(<2 x i64> %a0) {
-; X32-LABEL: test_mm_roti_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vprotw $50, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_roti_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vprotw $50, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_roti_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vprotw $50, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %res = call <8 x i16> @llvm.x86.xop.vprotwi(<8 x i16> %arg0, i8 50)
   %bc = bitcast <8 x i16> %res to <2 x i64>
@@ -644,15 +455,10 @@ define <2 x i64> @test_mm_roti_epi16(<2
 declare <8 x i16> @llvm.x86.xop.vprotwi(<8 x i16>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_roti_epi32(<2 x i64> %a0) {
-; X32-LABEL: test_mm_roti_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vprotd $226, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_roti_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vprotd $226, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_roti_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vprotd $226, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %res = call <4 x i32> @llvm.x86.xop.vprotdi(<4 x i32> %arg0, i8 -30)
   %bc = bitcast <4 x i32> %res to <2 x i64>
@@ -661,30 +467,20 @@ define <2 x i64> @test_mm_roti_epi32(<2
 declare <4 x i32> @llvm.x86.xop.vprotdi(<4 x i32>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_roti_epi64(<2 x i64> %a0) {
-; X32-LABEL: test_mm_roti_epi64:
-; X32:       # %bb.0:
-; X32-NEXT:    vprotq $100, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_roti_epi64:
-; X64:       # %bb.0:
-; X64-NEXT:    vprotq $100, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_roti_epi64:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vprotq $100, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x i64> @llvm.x86.xop.vprotqi(<2 x i64> %a0, i8 100)
   ret <2 x i64> %res
 }
 declare <2 x i64> @llvm.x86.xop.vprotqi(<2 x i64>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_shl_epi8(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_shl_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vpshlb %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_shl_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vpshlb %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_shl_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpshlb %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %arg1 = bitcast <2 x i64> %a1 to <16 x i8>
   %res = call <16 x i8> @llvm.x86.xop.vpshlb(<16 x i8> %arg0, <16 x i8> %arg1)
@@ -694,15 +490,10 @@ define <2 x i64> @test_mm_shl_epi8(<2 x
 declare <16 x i8> @llvm.x86.xop.vpshlb(<16 x i8>, <16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_shl_epi16(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_shl_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpshlw %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_shl_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpshlw %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_shl_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpshlw %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %res = call <8 x i16> @llvm.x86.xop.vpshlw(<8 x i16> %arg0, <8 x i16> %arg1)
@@ -712,15 +503,10 @@ define <2 x i64> @test_mm_shl_epi16(<2 x
 declare <8 x i16> @llvm.x86.xop.vpshlw(<8 x i16>, <8 x i16>) nounwind readnone
 
 define <2 x i64> @test_mm_shl_epi32(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_shl_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpshld %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_shl_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpshld %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_shl_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpshld %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %res = call <4 x i32> @llvm.x86.xop.vpshld(<4 x i32> %arg0, <4 x i32> %arg1)
@@ -730,30 +516,20 @@ define <2 x i64> @test_mm_shl_epi32(<2 x
 declare <4 x i32> @llvm.x86.xop.vpshld(<4 x i32>, <4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_shl_epi64(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_shl_epi64:
-; X32:       # %bb.0:
-; X32-NEXT:    vpshlq %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_shl_epi64:
-; X64:       # %bb.0:
-; X64-NEXT:    vpshlq %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_shl_epi64:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpshlq %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x i64> @llvm.x86.xop.vpshlq(<2 x i64> %a0, <2 x i64> %a1)
   ret <2 x i64> %res
 }
 declare <2 x i64> @llvm.x86.xop.vpshlq(<2 x i64>, <2 x i64>) nounwind readnone
 
 define <2 x i64> @test_mm_sha_epi8(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_sha_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vpshab %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_sha_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vpshab %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_sha_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpshab %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %arg1 = bitcast <2 x i64> %a1 to <16 x i8>
   %res = call <16 x i8> @llvm.x86.xop.vpshab(<16 x i8> %arg0, <16 x i8> %arg1)
@@ -763,15 +539,10 @@ define <2 x i64> @test_mm_sha_epi8(<2 x
 declare <16 x i8> @llvm.x86.xop.vpshab(<16 x i8>, <16 x i8>) nounwind readnone
 
 define <2 x i64> @test_mm_sha_epi16(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_sha_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpshaw %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_sha_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpshaw %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_sha_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpshaw %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %res = call <8 x i16> @llvm.x86.xop.vpshaw(<8 x i16> %arg0, <8 x i16> %arg1)
@@ -781,15 +552,10 @@ define <2 x i64> @test_mm_sha_epi16(<2 x
 declare <8 x i16> @llvm.x86.xop.vpshaw(<8 x i16>, <8 x i16>) nounwind readnone
 
 define <2 x i64> @test_mm_sha_epi32(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_sha_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpshad %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_sha_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpshad %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_sha_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpshad %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %res = call <4 x i32> @llvm.x86.xop.vpshad(<4 x i32> %arg0, <4 x i32> %arg1)
@@ -799,30 +565,20 @@ define <2 x i64> @test_mm_sha_epi32(<2 x
 declare <4 x i32> @llvm.x86.xop.vpshad(<4 x i32>, <4 x i32>) nounwind readnone
 
 define <2 x i64> @test_mm_sha_epi64(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_sha_epi64:
-; X32:       # %bb.0:
-; X32-NEXT:    vpshaq %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_sha_epi64:
-; X64:       # %bb.0:
-; X64-NEXT:    vpshaq %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_sha_epi64:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpshaq %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x i64> @llvm.x86.xop.vpshaq(<2 x i64> %a0, <2 x i64> %a1)
   ret <2 x i64> %res
 }
 declare <2 x i64> @llvm.x86.xop.vpshaq(<2 x i64>, <2 x i64>) nounwind readnone
 
 define <2 x i64> @test_mm_com_epu8(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_com_epu8:
-; X32:       # %bb.0:
-; X32-NEXT:    vpcomltub %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_com_epu8:
-; X64:       # %bb.0:
-; X64-NEXT:    vpcomltub %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_com_epu8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpcomltub %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %arg1 = bitcast <2 x i64> %a1 to <16 x i8>
   %res = call <16 x i8> @llvm.x86.xop.vpcomub(<16 x i8> %arg0, <16 x i8> %arg1, i8 0)
@@ -832,15 +588,10 @@ define <2 x i64> @test_mm_com_epu8(<2 x
 declare <16 x i8> @llvm.x86.xop.vpcomub(<16 x i8>, <16 x i8>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_com_epu16(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_com_epu16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpcomltuw %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_com_epu16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpcomltuw %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_com_epu16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpcomltuw %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %res = call <8 x i16> @llvm.x86.xop.vpcomuw(<8 x i16> %arg0, <8 x i16> %arg1, i8 0)
@@ -850,15 +601,10 @@ define <2 x i64> @test_mm_com_epu16(<2 x
 declare <8 x i16> @llvm.x86.xop.vpcomuw(<8 x i16>, <8 x i16>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_com_epu32(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_com_epu32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpcomltud %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_com_epu32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpcomltud %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_com_epu32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpcomltud %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %res = call <4 x i32> @llvm.x86.xop.vpcomud(<4 x i32> %arg0, <4 x i32> %arg1, i8 0)
@@ -868,30 +614,20 @@ define <2 x i64> @test_mm_com_epu32(<2 x
 declare <4 x i32> @llvm.x86.xop.vpcomud(<4 x i32>, <4 x i32>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_com_epu64(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_com_epu64:
-; X32:       # %bb.0:
-; X32-NEXT:    vpcomltuq %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_com_epu64:
-; X64:       # %bb.0:
-; X64-NEXT:    vpcomltuq %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_com_epu64:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpcomltuq %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x i64> @llvm.x86.xop.vpcomuq(<2 x i64> %a0, <2 x i64> %a1, i8 0)
   ret <2 x i64> %res
 }
 declare <2 x i64> @llvm.x86.xop.vpcomuq(<2 x i64>, <2 x i64>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_com_epi8(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_com_epi8:
-; X32:       # %bb.0:
-; X32-NEXT:    vpcomltb %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_com_epi8:
-; X64:       # %bb.0:
-; X64-NEXT:    vpcomltb %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_com_epi8:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpcomltb %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <16 x i8>
   %arg1 = bitcast <2 x i64> %a1 to <16 x i8>
   %res = call <16 x i8> @llvm.x86.xop.vpcomb(<16 x i8> %arg0, <16 x i8> %arg1, i8 0)
@@ -901,15 +637,10 @@ define <2 x i64> @test_mm_com_epi8(<2 x
 declare <16 x i8> @llvm.x86.xop.vpcomb(<16 x i8>, <16 x i8>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_com_epi16(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_com_epi16:
-; X32:       # %bb.0:
-; X32-NEXT:    vpcomltw %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_com_epi16:
-; X64:       # %bb.0:
-; X64-NEXT:    vpcomltw %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_com_epi16:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpcomltw %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <8 x i16>
   %arg1 = bitcast <2 x i64> %a1 to <8 x i16>
   %res = call <8 x i16> @llvm.x86.xop.vpcomw(<8 x i16> %arg0, <8 x i16> %arg1, i8 0)
@@ -919,15 +650,10 @@ define <2 x i64> @test_mm_com_epi16(<2 x
 declare <8 x i16> @llvm.x86.xop.vpcomw(<8 x i16>, <8 x i16>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_com_epi32(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_com_epi32:
-; X32:       # %bb.0:
-; X32-NEXT:    vpcomltd %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_com_epi32:
-; X64:       # %bb.0:
-; X64-NEXT:    vpcomltd %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_com_epi32:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpcomltd %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg0 = bitcast <2 x i64> %a0 to <4 x i32>
   %arg1 = bitcast <2 x i64> %a1 to <4 x i32>
   %res = call <4 x i32> @llvm.x86.xop.vpcomd(<4 x i32> %arg0, <4 x i32> %arg1, i8 0)
@@ -937,60 +663,40 @@ define <2 x i64> @test_mm_com_epi32(<2 x
 declare <4 x i32> @llvm.x86.xop.vpcomd(<4 x i32>, <4 x i32>, i8) nounwind readnone
 
 define <2 x i64> @test_mm_com_epi64(<2 x i64> %a0, <2 x i64> %a1) {
-; X32-LABEL: test_mm_com_epi64:
-; X32:       # %bb.0:
-; X32-NEXT:    vpcomltq %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_com_epi64:
-; X64:       # %bb.0:
-; X64-NEXT:    vpcomltq %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_com_epi64:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpcomltq %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x i64> @llvm.x86.xop.vpcomq(<2 x i64> %a0, <2 x i64> %a1, i8 0)
   ret <2 x i64> %res
 }
 declare <2 x i64> @llvm.x86.xop.vpcomq(<2 x i64>, <2 x i64>, i8) nounwind readnone
 
 define <2 x double> @test_mm_permute2_pd(<2 x double> %a0, <2 x double> %a1, <2 x i64> %a2) {
-; X32-LABEL: test_mm_permute2_pd:
-; X32:       # %bb.0:
-; X32-NEXT:    vpermil2pd $0, %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_permute2_pd:
-; X64:       # %bb.0:
-; X64-NEXT:    vpermil2pd $0, %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_permute2_pd:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpermil2pd $0, %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x double> @llvm.x86.xop.vpermil2pd(<2 x double> %a0, <2 x double> %a1, <2 x i64> %a2, i8 0)
   ret <2 x double> %res
 }
 declare <2 x double> @llvm.x86.xop.vpermil2pd(<2 x double>, <2 x double>, <2 x i64>, i8) nounwind readnone
 
 define <4 x double> @test_mm256_permute2_pd(<4 x double> %a0, <4 x double> %a1, <4 x i64> %a2) {
-; X32-LABEL: test_mm256_permute2_pd:
-; X32:       # %bb.0:
-; X32-NEXT:    vpermil2pd $0, %ymm2, %ymm1, %ymm0, %ymm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm256_permute2_pd:
-; X64:       # %bb.0:
-; X64-NEXT:    vpermil2pd $0, %ymm2, %ymm1, %ymm0, %ymm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm256_permute2_pd:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpermil2pd $0, %ymm2, %ymm1, %ymm0, %ymm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <4 x double> @llvm.x86.xop.vpermil2pd.256(<4 x double> %a0, <4 x double> %a1, <4 x i64> %a2, i8 0)
   ret <4 x double> %res
 }
 declare <4 x double> @llvm.x86.xop.vpermil2pd.256(<4 x double>, <4 x double>, <4 x i64>, i8) nounwind readnone
 
 define <4 x float> @test_mm_permute2_ps(<4 x float> %a0, <4 x float> %a1, <2 x i64> %a2) {
-; X32-LABEL: test_mm_permute2_ps:
-; X32:       # %bb.0:
-; X32-NEXT:    vpermil2ps $0, %xmm2, %xmm1, %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_permute2_ps:
-; X64:       # %bb.0:
-; X64-NEXT:    vpermil2ps $0, %xmm2, %xmm1, %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_permute2_ps:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpermil2ps $0, %xmm2, %xmm1, %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg2 = bitcast <2 x i64> %a2 to <4 x i32>
   %res = call <4 x float> @llvm.x86.xop.vpermil2ps(<4 x float> %a0, <4 x float> %a1, <4 x i32> %arg2, i8 0)
   ret <4 x float> %res
@@ -998,15 +704,10 @@ define <4 x float> @test_mm_permute2_ps(
 declare <4 x float> @llvm.x86.xop.vpermil2ps(<4 x float>, <4 x float>, <4 x i32>, i8) nounwind readnone
 
 define <8 x float> @test_mm256_permute2_ps(<8 x float> %a0, <8 x float> %a1, <4 x i64> %a2) {
-; X32-LABEL: test_mm256_permute2_ps:
-; X32:       # %bb.0:
-; X32-NEXT:    vpermil2ps $0, %ymm2, %ymm1, %ymm0, %ymm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm256_permute2_ps:
-; X64:       # %bb.0:
-; X64-NEXT:    vpermil2ps $0, %ymm2, %ymm1, %ymm0, %ymm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm256_permute2_ps:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vpermil2ps $0, %ymm2, %ymm1, %ymm0, %ymm0
+; ALL-NEXT:    ret{{[l|q]}}
   %arg2 = bitcast <4 x i64> %a2 to <8 x i32>
   %res = call <8 x float> @llvm.x86.xop.vpermil2ps.256(<8 x float> %a0, <8 x float> %a1, <8 x i32> %arg2, i8 0)
   ret <8 x float> %res
@@ -1014,90 +715,60 @@ define <8 x float> @test_mm256_permute2_
 declare <8 x float> @llvm.x86.xop.vpermil2ps.256(<8 x float>, <8 x float>, <8 x i32>, i8) nounwind readnone
 
 define <4 x float> @test_mm_frcz_ss(<4 x float> %a0) {
-; X32-LABEL: test_mm_frcz_ss:
-; X32:       # %bb.0:
-; X32-NEXT:    vfrczss %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_frcz_ss:
-; X64:       # %bb.0:
-; X64-NEXT:    vfrczss %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_frcz_ss:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vfrczss %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <4 x float> @llvm.x86.xop.vfrcz.ss(<4 x float> %a0)
   ret <4 x float> %res
 }
 declare <4 x float> @llvm.x86.xop.vfrcz.ss(<4 x float>) nounwind readnone
 
 define <2 x double> @test_mm_frcz_sd(<2 x double> %a0) {
-; X32-LABEL: test_mm_frcz_sd:
-; X32:       # %bb.0:
-; X32-NEXT:    vfrczsd %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_frcz_sd:
-; X64:       # %bb.0:
-; X64-NEXT:    vfrczsd %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_frcz_sd:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vfrczsd %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x double> @llvm.x86.xop.vfrcz.sd(<2 x double> %a0)
   ret <2 x double> %res
 }
 declare <2 x double> @llvm.x86.xop.vfrcz.sd(<2 x double>) nounwind readnone
 
 define <4 x float> @test_mm_frcz_ps(<4 x float> %a0) {
-; X32-LABEL: test_mm_frcz_ps:
-; X32:       # %bb.0:
-; X32-NEXT:    vfrczps %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_frcz_ps:
-; X64:       # %bb.0:
-; X64-NEXT:    vfrczps %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_frcz_ps:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vfrczps %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <4 x float> @llvm.x86.xop.vfrcz.ps(<4 x float> %a0)
   ret <4 x float> %res
 }
 declare <4 x float> @llvm.x86.xop.vfrcz.ps(<4 x float>) nounwind readnone
 
 define <2 x double> @test_mm_frcz_pd(<2 x double> %a0) {
-; X32-LABEL: test_mm_frcz_pd:
-; X32:       # %bb.0:
-; X32-NEXT:    vfrczpd %xmm0, %xmm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm_frcz_pd:
-; X64:       # %bb.0:
-; X64-NEXT:    vfrczpd %xmm0, %xmm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm_frcz_pd:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vfrczpd %xmm0, %xmm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <2 x double> @llvm.x86.xop.vfrcz.pd(<2 x double> %a0)
   ret <2 x double> %res
 }
 declare <2 x double> @llvm.x86.xop.vfrcz.pd(<2 x double>) nounwind readnone
 
 define <8 x float> @test_mm256_frcz_ps(<8 x float> %a0) {
-; X32-LABEL: test_mm256_frcz_ps:
-; X32:       # %bb.0:
-; X32-NEXT:    vfrczps %ymm0, %ymm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm256_frcz_ps:
-; X64:       # %bb.0:
-; X64-NEXT:    vfrczps %ymm0, %ymm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm256_frcz_ps:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vfrczps %ymm0, %ymm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <8 x float> @llvm.x86.xop.vfrcz.ps.256(<8 x float> %a0)
   ret <8 x float> %res
 }
 declare <8 x float> @llvm.x86.xop.vfrcz.ps.256(<8 x float>) nounwind readnone
 
 define <4 x double> @test_mm256_frcz_pd(<4 x double> %a0) {
-; X32-LABEL: test_mm256_frcz_pd:
-; X32:       # %bb.0:
-; X32-NEXT:    vfrczpd %ymm0, %ymm0
-; X32-NEXT:    retl
-;
-; X64-LABEL: test_mm256_frcz_pd:
-; X64:       # %bb.0:
-; X64-NEXT:    vfrczpd %ymm0, %ymm0
-; X64-NEXT:    retq
+; ALL-LABEL: test_mm256_frcz_pd:
+; ALL:       # %bb.0:
+; ALL-NEXT:    vfrczpd %ymm0, %ymm0
+; ALL-NEXT:    ret{{[l|q]}}
   %res = call <4 x double> @llvm.x86.xop.vfrcz.pd.256(<4 x double> %a0)
   ret <4 x double> %res
 }




More information about the llvm-commits mailing list