diff options
author | Matt Turner <[email protected]> | 2013-08-08 16:41:48 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2013-08-16 13:11:07 -0700 |
commit | 9c48ae751ab28f35eb878551d24c071be0ce11b0 (patch) | |
tree | d0022fb081565228a9623db3d460e17702e48d22 /src/mesa/drivers/dri/r200/radeon_tile.c | |
parent | 0ae9ca12a887a5aca47edc2a6a99eac4235bf4b0 (diff) |
i965: Don't copy propagate bitcasts with source modifiers.
Previously, copy propagation would cause bitcast_f2u(abs(float)) to
be performed in a single step, but the application of source modifiers
(abs, neg) happens after type conversion, leading to incorrect results.
That is, for bitcast_f2u(abs(float)) we would in fact generate code to
do abs(bitcast_f2u(float)).
For example, whereas bitcast_f2u(abs(float)) might result in a register
argument such as
(abs)g2.2<0,1,0>UD
v2: Set interfered = true and break in register_coalesce instead of
returning false.
Reviewed-by: Paul Berry <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/r200/radeon_tile.c')
0 files changed, 0 insertions, 0 deletions