[Bug target/40836] ICE: insn does not satisfy its constraints (iwmmxt_movsi_insn)

2012-09-19 Thread dsd at laptop dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40836



--- Comment #32 from Daniel Drake dsd at laptop dot org 2012-09-19 21:02:55 
UTC ---

Using the preprocessed source that I attached, I can't reproduce this with

gcc-4.8 head (my previous test was with 4.7.x). Also, I have completed a glibc

compile with -march=iwmmxt2 on gcc-4.8.



So I think this bug may have been solved post-gcc-4.7.


[Bug target/40836] ICE: insn does not satisfy its constraints (iwmmxt_movsi_insn)

2012-09-11 Thread dsd at laptop dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40836

--- Comment #31 from Daniel Drake dsd at laptop dot org 2012-09-11 19:11:27 
UTC ---
Created attachment 28173
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28173
preprocessed source that crashes

Another preprocessed source example that shows this crasher, from glibc
gconv_cache compilation. Compile with: gcc -march=iwmmxt -O3 -c test.c

Note: -O3 is needed to cause the crash, with -O2 it compiles OK.


[Bug target/40836] ICE: insn does not satisfy its constraints (iwmmxt_movsi_insn)

2012-09-03 Thread dsd at laptop dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40836

Daniel Drake dsd at laptop dot org changed:

   What|Removed |Added

 CC||dsd at laptop dot org

--- Comment #30 from Daniel Drake dsd at laptop dot org 2012-09-03 22:29:08 
UTC ---
Reproduced this on gcc-4.7.1 when building glibc with -march=iwmmxt

gconv_cache.c: In function '__gconv_lookup_cache':
gconv_cache.c:448:1: error: insn does not satisfy its constraints:
(insn 1192 1127 433 38 (set (reg/f:SI 13 sp)
(reg/f:SI 43 wcgr0 [611])) 499 {*iwmmxt_movsi_insn}
 (expr_list:REG_ARGS_SIZE (const_int 0 [0])
(nil)))
gconv_cache.c:448:1: internal compiler error: in reload_cse_simplify_operands,
at postreload.c:403

Probably unsuprisingly, backporting the iwmmxt2 support from gcc 4.8 to 4.7 and
compiling with -march=iwmmxt2 produces the same result.


[Bug c/54306] New: ARM iwmmxt2 commit adds imbalanced #endif in mmintrin.h

2012-08-17 Thread dsd at laptop dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54306

 Bug #: 54306
   Summary: ARM iwmmxt2 commit adds imbalanced #endif in
mmintrin.h
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: d...@laptop.org
CC: matts...@gmail.com, ni...@redhat.com


The commit that added iwmmxt2 support:
http://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6b8f7c284d4443660a1ce94ae695940930a5708c

adds an imbalanced number of #endif to gcc/config/arm/mmintrin.h

This means that iwmmxt support doesn't work, compiles fail when building with
-march=iwmmxt2 due to this imbalance.

I believe the very last line added by the patch to mmintin.h should be removed:
+#endif /* __IWMMXT__ */

The __IWMMXT__ check was already done (and terminated) at the top of the file.