brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 8d99ad0 Raw
65 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-- --show-mc-encoding -mattr=+sm4,+avx10.2 | FileCheck %s3; RUN: llc < %s -verify-machineinstrs -mtriple=i686-- --show-mc-encoding -mattr=+sm4,+avx10.2 | FileCheck %s4 5define <4 x i32> @test_int_x86_vsm4key4128(<4 x i32> %A, <4 x i32> %B) {6; CHECK-LABEL: test_int_x86_vsm4key4128:7; CHECK:       # %bb.0:8; CHECK-NEXT:    vsm4key4 %xmm1, %xmm0, %xmm0 # EVEX TO VEX Compression encoding: [0xc4,0xe2,0x7a,0xda,0xc1]9; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]10  %ret = call <4 x i32> @llvm.x86.vsm4key4128(<4 x i32> %A, <4 x i32> %B)11  ret <4 x i32> %ret12}13declare <4 x i32> @llvm.x86.vsm4key4128(<4 x i32> %A, <4 x i32> %B)14 15define <8 x i32> @test_int_x86_vsm4key4256(<8 x i32> %A, <8 x i32> %B) {16; CHECK-LABEL: test_int_x86_vsm4key4256:17; CHECK:       # %bb.0:18; CHECK-NEXT:    vsm4key4 %ymm1, %ymm0, %ymm0 # EVEX TO VEX Compression encoding: [0xc4,0xe2,0x7e,0xda,0xc1]19; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]20  %ret = call <8 x i32> @llvm.x86.vsm4key4256(<8 x i32> %A, <8 x i32> %B)21  ret <8 x i32> %ret22}23declare <8 x i32> @llvm.x86.vsm4key4256(<8 x i32> %A, <8 x i32> %B)24 25define <16 x i32> @test_int_x86_vsm4key4512(<16 x i32> %A, <16 x i32> %B) {26; CHECK-LABEL: test_int_x86_vsm4key4512:27; CHECK:       # %bb.0:28; CHECK-NEXT:    vsm4key4 %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf2,0x7e,0x48,0xda,0xc1]29; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]30  %ret = call <16 x i32> @llvm.x86.vsm4key4512(<16 x i32> %A, <16 x i32> %B)31  ret <16 x i32> %ret32}33declare <16 x i32> @llvm.x86.vsm4key4512(<16 x i32> %A, <16 x i32> %B)34 35define <4 x i32> @test_int_x86_vsm4rnds4128(<4 x i32> %A, <4 x i32> %B) {36; CHECK-LABEL: test_int_x86_vsm4rnds4128:37; CHECK:       # %bb.0:38; CHECK-NEXT:    vsm4rnds4 %xmm1, %xmm0, %xmm0 # EVEX TO VEX Compression encoding: [0xc4,0xe2,0x7b,0xda,0xc1]39; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]40  %ret = call <4 x i32> @llvm.x86.vsm4rnds4128(<4 x i32> %A, <4 x i32> %B)41  ret <4 x i32> %ret42}43declare <4 x i32> @llvm.x86.vsm4rnds4128(<4 x i32> %A, <4 x i32> %B)44 45define <8 x i32> @test_int_x86_vsm4rnds4256(<8 x i32> %A, <8 x i32> %B) {46; CHECK-LABEL: test_int_x86_vsm4rnds4256:47; CHECK:       # %bb.0:48; CHECK-NEXT:    vsm4rnds4 %ymm1, %ymm0, %ymm0 # EVEX TO VEX Compression encoding: [0xc4,0xe2,0x7f,0xda,0xc1]49; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]50  %ret = call <8 x i32> @llvm.x86.vsm4rnds4256(<8 x i32> %A, <8 x i32> %B)51  ret <8 x i32> %ret52}53declare <8 x i32> @llvm.x86.vsm4rnds4256(<8 x i32> %A, <8 x i32> %B)54 55define <16 x i32> @test_int_x86_vsm4rnds4512(<16 x i32> %A, <16 x i32> %B) {56; CHECK-LABEL: test_int_x86_vsm4rnds4512:57; CHECK:       # %bb.0:58; CHECK-NEXT:    vsm4rnds4 %zmm1, %zmm0, %zmm0 # encoding: [0x62,0xf2,0x7f,0x48,0xda,0xc1]59; CHECK-NEXT:    ret{{[l|q]}} # encoding: [0xc3]60  %ret = call <16 x i32> @llvm.x86.vsm4rnds4512(<16 x i32> %A, <16 x i32> %B)61  ret <16 x i32> %ret62}63declare <16 x i32> @llvm.x86.vsm4rnds4512(<16 x i32> %A, <16 x i32> %B)64 65