| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 |
| ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx10.2 --show-mc-encoding | FileCheck %s --check-prefixes=X86 |
| ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx10.2 --show-mc-encoding | FileCheck %s --check-prefixes=X64 |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpbssd.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpbssd_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpbssd_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpbssd %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x77,0x48,0x50,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpbssd_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpbssd %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x77,0x48,0x50,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpbssd.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpbssds.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpbssds_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpbssds_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpbssds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x77,0x48,0x51,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpbssds_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpbssds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x77,0x48,0x51,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpbssds.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpbsud.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpbsud_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpbsud_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpbsud %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x76,0x48,0x50,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpbsud_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpbsud %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x76,0x48,0x50,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpbsud.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpbsuds.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpbsuds_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpbsuds_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpbsuds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x76,0x48,0x51,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpbsuds_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpbsuds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x76,0x48,0x51,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpbsuds.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpbuud.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpbuud_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpbuud_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpbuud %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x74,0x48,0x50,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpbuud_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpbuud %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x74,0x48,0x50,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpbuud.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpbuuds.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpbuuds_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpbuuds_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpbuuds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x74,0x48,0x51,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpbuuds_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpbuuds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x74,0x48,0x51,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpbuuds.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpwsud.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpwsud_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpwsud_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpwsud %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x76,0x48,0xd2,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpwsud_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpwsud %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x76,0x48,0xd2,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpwsud.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpwsuds.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpwsuds_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpwsuds_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpwsuds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x76,0x48,0xd3,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpwsuds_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpwsuds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x76,0x48,0xd3,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpwsuds.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpwusd.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpwusd_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpwusd_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpwusd %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x75,0x48,0xd2,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpwusd_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpwusd %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x75,0x48,0xd2,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpwusd.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpwusds.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpwusds_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpwusds_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpwusds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x75,0x48,0xd3,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpwusds_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpwusds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x75,0x48,0xd3,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpwusds.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpwuud.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpwuud_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpwuud_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpwuud %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x74,0x48,0xd2,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpwuud_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpwuud %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x74,0x48,0xd2,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpwuud.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |
| |
| declare <16 x i32> @llvm.x86.avx10.vpdpwuuds.512(<16 x i32>, <16 x i32>, <16 x i32>) |
| |
| define <16 x i32>@test_int_x86_avx10_vpdpwuuds_512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) { |
| ; X86-LABEL: test_int_x86_avx10_vpdpwuuds_512: |
| ; X86: # %bb.0: |
| ; X86-NEXT: vpdpwuuds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x74,0x48,0xd3,0xc2] |
| ; X86-NEXT: retl # encoding: [0xc3] |
| ; |
| ; X64-LABEL: test_int_x86_avx10_vpdpwuuds_512: |
| ; X64: # %bb.0: |
| ; X64-NEXT: vpdpwuuds %zmm2, %zmm1, %zmm0 # encoding: [0x62,0xf2,0x74,0x48,0xd3,0xc2] |
| ; X64-NEXT: retq # encoding: [0xc3] |
| %res = call <16 x i32> @llvm.x86.avx10.vpdpwuuds.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2) |
| ret <16 x i32> %res |
| } |