summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2019-02-21 17:48:22 -0800
committerIan Romanick <ian.d.romanick@intel.com>2019-03-26 10:29:22 -0700
commit0894692466317dcf23fcd62d1c1fe7f871ef3c5d (patch)
tree7a3743bfdd67e82273cda2c690114cf1a3d1e793
parent44ff56f26c6a4672ed786cb6995df2006c87342e (diff)
pack and unpack
squash! WIP: intel/compiler: Import Gen8 / Gen9 ALU machine description
-rw-r--r--src/intel/compiler/gen8_md.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/intel/compiler/gen8_md.py b/src/intel/compiler/gen8_md.py
index 0a0e5c2c836c..559cb8a1d1e9 100644
--- a/src/intel/compiler/gen8_md.py
+++ b/src/intel/compiler/gen8_md.py
@@ -342,6 +342,17 @@ gen8_md = [
Instruction('SEL', r, t0, b).cmod('GE')))
),
(('umax', a, b), Instruction('SEL', r, a, b).cmod('GE')),
+
+ # Packing / unpacking
+ (('pack_64_2x32_split', a, b), Instruction('FS_OPCODE_PACK', r, a, b)),
+ (('pack_32_2x16_split', a, b), Instruction('FS_OPCODE_PACK', r, a, b)),
+ (('pack_half_2x16_split', a, b), Instruction('FS_OPCODE_PACK_HALF_2x16_SPLIT', r, a, b)),
+ (('unpack_64_2x32_split_x', a), Instruction('MOV', r, subscript(a, UD, 0))),
+ (('unpack_64_2x32_split_y', a), Instruction('MOV', r, subscript(a, UD, 1))),
+ (('unpack_32_2x16_split_x', a), Instruction('MOV', r, subscript(a, UW, 0))),
+ (('unpack_32_2x16_split_y', a), Instruction('MOV', r, subscript(a, UW, 1))),
+ (('unpack_half_2x16_split_x', a), Instruction('F16TO32', r, subscript(a, UW, 0))),
+ (('unpack_half_2x16_split_y', a), Instruction('F16TO32', r, subscript(a, UW, 1))),
]
gen8_unsupported = [