Commit 9cd60fce authored by Matt Turner's avatar Matt Turner

i965/fs: Use align1 mode on ternary instructions on Gen10+

Align1 mode offers some nice features over align16, like access to more
data types and the ability to use a 16-bit immediate. This patch does
not start using any new features. It just emits ternary instructions in
align1 mode.
Reviewed-by: D Scott Phillips's avatarScott D Phillips <scott.d.phillips@intel.com>
parent 8c16c9c6
...@@ -1729,13 +1729,15 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width) ...@@ -1729,13 +1729,15 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
case BRW_OPCODE_MAD: case BRW_OPCODE_MAD:
assert(devinfo->gen >= 6); assert(devinfo->gen >= 6);
brw_set_default_access_mode(p, BRW_ALIGN_16); if (devinfo->gen < 10)
brw_set_default_access_mode(p, BRW_ALIGN_16);
brw_MAD(p, dst, src[0], src[1], src[2]); brw_MAD(p, dst, src[0], src[1], src[2]);
break; break;
case BRW_OPCODE_LRP: case BRW_OPCODE_LRP:
assert(devinfo->gen >= 6); assert(devinfo->gen >= 6);
brw_set_default_access_mode(p, BRW_ALIGN_16); if (devinfo->gen < 10)
brw_set_default_access_mode(p, BRW_ALIGN_16);
brw_LRP(p, dst, src[0], src[1], src[2]); brw_LRP(p, dst, src[0], src[1], src[2]);
break; break;
...@@ -1833,7 +1835,8 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width) ...@@ -1833,7 +1835,8 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
case BRW_OPCODE_BFE: case BRW_OPCODE_BFE:
assert(devinfo->gen >= 7); assert(devinfo->gen >= 7);
brw_set_default_access_mode(p, BRW_ALIGN_16); if (devinfo->gen < 10)
brw_set_default_access_mode(p, BRW_ALIGN_16);
brw_BFE(p, dst, src[0], src[1], src[2]); brw_BFE(p, dst, src[0], src[1], src[2]);
break; break;
...@@ -1843,7 +1846,8 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width) ...@@ -1843,7 +1846,8 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
break; break;
case BRW_OPCODE_BFI2: case BRW_OPCODE_BFI2:
assert(devinfo->gen >= 7); assert(devinfo->gen >= 7);
brw_set_default_access_mode(p, BRW_ALIGN_16); if (devinfo->gen < 10)
brw_set_default_access_mode(p, BRW_ALIGN_16);
brw_BFI2(p, dst, src[0], src[1], src[2]); brw_BFI2(p, dst, src[0], src[1], src[2]);
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment