https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88309
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2018-12-03
Component|tree-optimization |target
Version|unknown |9.0
Summary|ICE: Floating point |ICE: Floating point
|exception (in |exception (in
|is_miss_rate_acceptable) |is_miss_rate_acceptable),
| |target assigning alignent
| |of 4 bits(!) to vector
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
total_positions = (cache_line_size / align_unit) * distinct_iters;
align_unit shouldn't be zero...
ref_type = TREE_TYPE (ref->mem);
align_unit = TYPE_ALIGN (ref_type) / 8;
if (is_miss_rate_acceptable (prefetch_block, step, delta,
reduced_prefetch_block, align_unit))
(gdb) p debug_tree ($1)
<mem_ref 0x7ffff66af708
type <vector_type 0x7ffff6a5e690 __vector float
type <real_type 0x7ffff68933f0 float sizes-gimplified SF
size <integer_cst 0x7ffff687af90 constant 32>
unit-size <integer_cst 0x7ffff687afa8 constant 4>
align:32 warn_if_not_align:0 symtab:0 alias-set 3 canonical-type
0x7ffff68933f0 precision:32
pointer_to_this <pointer_type 0x7ffff6893930>>
sizes-gimplified V4SF
size <integer_cst 0x7ffff688c300 constant 128>
unit-size <integer_cst 0x7ffff688c318 constant 16>
user align:4 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff694ddc8 nunits:4>
user-align of 4 bits?! The target must be smoking weeds here.