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.