i965/vec4: Implement equals() method for dst_reg too.

Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Francisco Jerez
2015-02-05 22:40:07 +02:00
parent 3df2cb2f86
commit 388b136e67
2 changed files with 18 additions and 0 deletions
+2
View File
@@ -117,6 +117,8 @@ public:
explicit dst_reg(src_reg reg);
bool equals(const dst_reg &r) const;
int writemask; /**< Bitfield of WRITEMASK_[XYZW] */
src_reg *reladdr;
+16
View File
@@ -234,6 +234,22 @@ dst_reg::dst_reg(src_reg reg)
this->fixed_hw_reg = reg.fixed_hw_reg;
}
bool
dst_reg::equals(const dst_reg &r) const
{
return (file == r.file &&
reg == r.reg &&
reg_offset == r.reg_offset &&
type == r.type &&
negate == r.negate &&
abs == r.abs &&
writemask == r.writemask &&
(reladdr == r.reladdr ||
(reladdr && r.reladdr && reladdr->equals(*r.reladdr))) &&
memcmp(&fixed_hw_reg, &r.fixed_hw_reg,
sizeof(fixed_hw_reg)) == 0);
}
bool
vec4_instruction::is_send_from_grf()
{