Lines Matching refs:reg

44    src_reg(struct ::brw_reg reg);
51 explicit src_reg(const dst_reg &reg);
57 retype(src_reg reg, enum brw_reg_type type)
59 reg.type = type;
60 return reg;
66 add_byte_offset(backend_reg *reg, unsigned bytes)
68 switch (reg->file) {
74 reg->offset += bytes;
75 assert(reg->offset % 16 == 0);
78 const unsigned suboffset = reg->offset + bytes;
79 reg->nr += suboffset / REG_SIZE;
80 reg->offset = suboffset % REG_SIZE;
81 assert(reg->offset % 16 == 0);
86 const unsigned suboffset = reg->subnr + bytes;
87 reg->nr += suboffset / REG_SIZE;
88 reg->subnr = suboffset % REG_SIZE;
89 assert(reg->subnr % 16 == 0);
100 byte_offset(src_reg reg, unsigned bytes)
102 detail::add_byte_offset(&reg, bytes);
103 return reg;
107 offset(src_reg reg, unsigned width, unsigned delta)
109 const unsigned stride = (reg.file == UNIFORM ? 0 : 4);
111 return byte_offset(reg, num_components * type_sz(reg.type) * delta);
115 horiz_offset(src_reg reg, unsigned delta)
117 return byte_offset(reg, delta * type_sz(reg.type));
125 swizzle(src_reg reg, unsigned swizzle)
127 if (reg.file == IMM)
128 reg.ud = brw_swizzle_immediate(reg.type, reg.ud, swizzle);
130 reg.swizzle = brw_compose_swizzle(swizzle, reg.swizzle);
132 return reg;
136 negate(src_reg reg)
138 assert(reg.file != IMM);
139 reg.negate = !reg.negate;
140 return reg;
144 is_uniform(const src_reg &reg)
146 return (reg.file == IMM || reg.file == UNIFORM || reg.is_null()) &&
147 (!reg.reladdr || is_uniform(*reg.reladdr));
163 dst_reg(struct ::brw_reg reg);
166 explicit dst_reg(const src_reg &reg);
174 retype(dst_reg reg, enum brw_reg_type type)
176 reg.type = type;
177 return reg;
181 byte_offset(dst_reg reg, unsigned bytes)
183 detail::add_byte_offset(&reg, bytes);
184 return reg;
188 offset(dst_reg reg, unsigned width, unsigned delta)
190 const unsigned stride = (reg.file == UNIFORM ? 0 : 4);
192 return byte_offset(reg, num_components * type_sz(reg.type) * delta);
196 horiz_offset(dst_reg reg, unsigned delta)
198 return byte_offset(reg, delta * type_sz(reg.type));
202 writemask(dst_reg reg, unsigned mask)
204 assert(reg.file != IMM);
205 assert((reg.writemask & mask) != 0);
206 reg.writemask &= mask;
207 return reg;