This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/53645] Missed optimization for vector integer division lowering
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 01 Jul 2012 10:23:58 +0000
- Subject: [Bug tree-optimization/53645] Missed optimization for vector integer division lowering
- Auto-submitted: auto-generated
- References: <bug-53645-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53645
Uros Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |ubizjak at gmail dot com
Resolution|FIXED |
--- Comment #9 from Uros Bizjak <ubizjak at gmail dot com> 2012-07-01 10:23:58 UTC ---
Compilation of pr53645.c testcase ICEs with -mno-sse4:
[uros@localhost execute]$ ~/gcc-build/gcc/cc1 -O2 -mno-sse4 -quiet pr53645.c
pr53645.c: In function âuq3333â:
pr53645.c:11:11: internal compiler error: in expand_expr_real_2, at expr.c:8971
*x = *y / ((UV) { a, b, c, d }); \
^
pr53645.c:35:1: note: in expansion of macro 'TEST'
TEST (3, 3, 3, 3) \
^
pr53645.c:40:1: note: in expansion of macro 'TESTS'
TESTS
^
Please submit a full bug report,
(gdb) f 2
#2 0x00000000006bf18d in expand_expr_real_2 (ops=ops@entry=0x7fffffffd120,
target=target@entry=0x0, tmode=tmode@entry=VOIDmode,
modifier=modifier@entry=EXPAND_NORMAL)
at ../../gcc-svn/trunk/gcc/expr.c:8971
8971 gcc_assert (temp);
(gdb) li
8966 }
8967 else
8968 gcc_assert (GET_MODE_CLASS (GET_MODE (op2)) ==
MODE_VECTOR_INT);
8969
8970 temp = expand_vec_perm (mode, op0, op1, op2, target);
8971 gcc_assert (temp);
8972 return temp;
8973
8974 case DOT_PROD_EXPR:
8975 {
(gdb) p temp
$1 = (rtx_def *) 0x0
expand_vec_perm returns NULL_RTX for mno-sse4.