It's not clear what abs on logical instructions means on Broadwell, and
it doesn't appear to do anything sensible.
Fixes 270 Piglit tests (the bitand/bitor/bitxor tests with abs).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81157
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
if (has_source_modifiers && entry->dst.type != inst->src[arg].type)
return false;
- if (brw->gen >= 8) {
- if (entry->src.negate) {
- if (is_logic_op(inst->opcode)) {
- return false;
- }
- }
+ if (brw->gen >= 8 && (entry->src.negate || entry->src.abs) &&
+ is_logic_op(inst->opcode)) {
+ return false;
}
inst->src[arg].file = entry->src.file;
value.file != ATTR)
return false;
- if (brw->gen >= 8) {
- if (value.negate) {
- if (is_logic_op(inst->opcode)) {
- return false;
- }
- }
+ if (brw->gen >= 8 && (value.negate || value.abs) &&
+ is_logic_op(inst->opcode)) {
+ return false;
}
if (inst->src[arg].abs) {