These instructions will be used with immediate arguments in the upcoming
ldexp lowering pass and frexp implementation.
v2: Add vec4 support as well.
Reviewed-by: Paul Berry <stereotype441@gmail.com>
progress = true;
break;
+ case BRW_OPCODE_SHL:
+ case BRW_OPCODE_SHR:
+ if (i == 1) {
+ inst->src[i] = entry->src;
+ progress = true;
+ }
+ break;
+
case BRW_OPCODE_MACH:
case BRW_OPCODE_MUL:
case BRW_OPCODE_ADD:
+ case BRW_OPCODE_OR:
+ case BRW_OPCODE_AND:
+ case BRW_OPCODE_XOR:
if (i == 1) {
inst->src[i] = entry->src;
progress = true;
inst->src[arg] = value;
return true;
+ case BRW_OPCODE_SHL:
+ case BRW_OPCODE_SHR:
+ if (arg == 1) {
+ inst->src[arg] = value;
+ return true;
+ }
+ break;
+
case BRW_OPCODE_MACH:
case BRW_OPCODE_MUL:
case BRW_OPCODE_ADD:
+ case BRW_OPCODE_OR:
+ case BRW_OPCODE_AND:
+ case BRW_OPCODE_XOR:
if (arg == 1) {
inst->src[arg] = value;
return true;