This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/42705] [4.5 Regression] verify_flow_info failed with -O
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Jan 2010 15:42:46 -0000
- Subject: [Bug tree-optimization/42705] [4.5 Regression] verify_flow_info failed with -O
- References: <bug-42705-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from rguenth at gcc dot gnu dot org 2010-01-12 15:42 -------
typedef int GLint;
typedef unsigned char GLubyte;
typedef unsigned int uint32_t;
struct radeon_bo {
void *ptr;
uint32_t flags;
};
struct radeon_renderbuffer {
struct radeon_bo *bo;
unsigned int cpp;
int has_surface;
};
static inline
GLint r600_1d_tile_helper(const struct radeon_renderbuffer * rrb,
GLint x, GLint y, GLint is_depth, GLint is_stencil)
{
GLint element_bytes = rrb->cpp;
GLint num_samples = 1;
GLint tile_width = 8;
GLint tile_height = 8;
GLint tile_thickness = 1;
GLint tile_bytes;
GLint tiles_per_row;
GLint slice_offset;
GLint tile_row_index;
GLint tile_column_index;
GLint tile_offset;
GLint pixel_number = 0;
GLint element_offset;
GLint offset = 0;
tile_bytes = tile_width * tile_height * tile_thickness
* element_bytes * num_samples;
tile_column_index = x / tile_width;
tile_offset = ((tile_row_index * tiles_per_row)
+ tile_column_index) * tile_bytes;
if (is_depth) {
}
else {
GLint sample_offset;
switch (element_bytes) {
case 1: pixel_number |= ((x >> 0) & 1) << 0;
}
element_offset = sample_offset + (pixel_number * element_bytes);
}
offset = slice_offset + tile_offset + element_offset;
return offset;
}
GLubyte *r600_ptr_color(const struct radeon_renderbuffer * rrb,
GLint x, GLint y)
{
GLubyte *ptr = rrb->bo->ptr;
uint32_t mask = 1 | 2;
GLint offset;
if (rrb->has_surface || !(rrb->bo->flags & mask)) {
offset = r600_1d_tile_helper(rrb, x, y, 0, 0);
}
return &ptr[offset];
}
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-01-12 15:42:46
date| |
Target Milestone|--- |4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42705