|  | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | 
|  | ; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+gfni,+avx -show-mc-encoding | FileCheck %s | 
|  |  | 
|  | declare <16 x i8> @llvm.x86.vgf2p8affineinvqb.128(<16 x i8>, <16 x i8>, i8) | 
|  | define <16 x i8> @test_vgf2p8affineinvqb_128(<16 x i8> %src1, <16 x i8> %src2) { | 
|  | ; CHECK-LABEL: test_vgf2p8affineinvqb_128: | 
|  | ; CHECK:       ## %bb.0: | 
|  | ; CHECK-NEXT:    vgf2p8affineinvqb $11, %xmm1, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0xf9,0xcf,0xc1,0x0b] | 
|  | ; CHECK-NEXT:    retl ## encoding: [0xc3] | 
|  | %1 = call <16 x i8> @llvm.x86.vgf2p8affineinvqb.128(<16 x i8> %src1, <16 x i8> %src2, i8 11) | 
|  | ret <16 x i8> %1 | 
|  | } | 
|  |  | 
|  | declare <32 x i8> @llvm.x86.vgf2p8affineinvqb.256(<32 x i8>, <32 x i8>, i8) | 
|  | define <32 x i8> @test_vgf2p8affineinvqb_256(<32 x i8> %src1, <32 x i8> %src2) { | 
|  | ; CHECK-LABEL: test_vgf2p8affineinvqb_256: | 
|  | ; CHECK:       ## %bb.0: | 
|  | ; CHECK-NEXT:    vgf2p8affineinvqb $11, %ymm1, %ymm0, %ymm0 ## encoding: [0xc4,0xe3,0xfd,0xcf,0xc1,0x0b] | 
|  | ; CHECK-NEXT:    retl ## encoding: [0xc3] | 
|  | %1 = call <32 x i8> @llvm.x86.vgf2p8affineinvqb.256(<32 x i8> %src1, <32 x i8> %src2, i8 11) | 
|  | ret <32 x i8> %1 | 
|  | } | 
|  |  | 
|  | declare <16 x i8> @llvm.x86.vgf2p8affineqb.128(<16 x i8>, <16 x i8>, i8) | 
|  | define <16 x i8> @test_vgf2p8affineqb(<16 x i8> %src1, <16 x i8> %src2) { | 
|  | ; CHECK-LABEL: test_vgf2p8affineqb: | 
|  | ; CHECK:       ## %bb.0: | 
|  | ; CHECK-NEXT:    vgf2p8affineqb $11, %xmm1, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0xf9,0xce,0xc1,0x0b] | 
|  | ; CHECK-NEXT:    retl ## encoding: [0xc3] | 
|  | %1 = call <16 x i8> @llvm.x86.vgf2p8affineqb.128(<16 x i8> %src1, <16 x i8> %src2, i8 11) | 
|  | ret <16 x i8> %1 | 
|  | } | 
|  |  | 
|  | declare <32 x i8> @llvm.x86.vgf2p8affineqb.256(<32 x i8>, <32 x i8>, i8) | 
|  | define <32 x i8> @test_vgf2p8affineqb_256(<32 x i8> %src1, <32 x i8> %src2) { | 
|  | ; CHECK-LABEL: test_vgf2p8affineqb_256: | 
|  | ; CHECK:       ## %bb.0: | 
|  | ; CHECK-NEXT:    vgf2p8affineqb $11, %ymm1, %ymm0, %ymm0 ## encoding: [0xc4,0xe3,0xfd,0xce,0xc1,0x0b] | 
|  | ; CHECK-NEXT:    retl ## encoding: [0xc3] | 
|  | %1 = call <32 x i8> @llvm.x86.vgf2p8affineqb.256(<32 x i8> %src1, <32 x i8> %src2, i8 11) | 
|  | ret <32 x i8> %1 | 
|  | } | 
|  |  | 
|  | declare <16 x i8> @llvm.x86.vgf2p8mulb.128(<16 x i8>, <16 x i8>) | 
|  | define <16 x i8> @test_vgf2p8mulb_128(<16 x i8> %src1, <16 x i8> %src2) { | 
|  | ; CHECK-LABEL: test_vgf2p8mulb_128: | 
|  | ; CHECK:       ## %bb.0: | 
|  | ; CHECK-NEXT:    vgf2p8mulb %xmm1, %xmm0, %xmm0 ## encoding: [0xc4,0xe2,0x79,0xcf,0xc1] | 
|  | ; CHECK-NEXT:    retl ## encoding: [0xc3] | 
|  | %1 = call <16 x i8> @llvm.x86.vgf2p8mulb.128(<16 x i8> %src1, <16 x i8> %src2) | 
|  | ret <16 x i8> %1 | 
|  | } | 
|  |  | 
|  | declare <32 x i8> @llvm.x86.vgf2p8mulb.256(<32 x i8>, <32 x i8>) | 
|  | define <32 x i8> @test_vgf2p8mulb_256(<32 x i8> %src1, <32 x i8> %src2) { | 
|  | ; CHECK-LABEL: test_vgf2p8mulb_256: | 
|  | ; CHECK:       ## %bb.0: | 
|  | ; CHECK-NEXT:    vgf2p8mulb %ymm1, %ymm0, %ymm0 ## encoding: [0xc4,0xe2,0x7d,0xcf,0xc1] | 
|  | ; CHECK-NEXT:    retl ## encoding: [0xc3] | 
|  | %1 = call <32 x i8> @llvm.x86.vgf2p8mulb.256(<32 x i8> %src1, <32 x i8> %src2) | 
|  | ret <32 x i8> %1 | 
|  | } | 
|  |  |