This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/13780] New: ICE on simple altivec code compiled w/o -mabi=altivec flag
- From: "qboosh at pld-linux dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Jan 2004 20:52:39 -0000
- Subject: [Bug target/13780] New: ICE on simple altivec code compiled w/o -mabi=altivec flag
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following code triggers ICE in 3.3.2 (doesn't matter if PR target/11793 fix
is applied or not - I tried both versions, so it's different issue). I was told
that the same occurs on 3.4 branch and mainline.
This is already preprocessed and simplified code:
typedef __attribute__((vector_size(16))) signed int vector_s_t;
static vector_s_t my_vec_and (vector_s_t const A, vector_s_t const B)
{
return __builtin_altivec_vand(A, B);
}
When compiling with just -maltivec I get:
$ gcc -c alt.i -maltivec
alt.i: In function `my_vec_and':
alt.i:6: error: unrecognizable insn:
(insn 5 4 30 0 (nil) (set (reg:V4SI 119)
(mem/u/f:V4SI (plus:SI (reg/f:SI 67 ap)
(const_int 8 [0x8])) [0 B+0 S16 A128])) -1 (nil)
(nil))
alt.i:6: internal compiler error: in extract_insn, at recog.c:2175
Please submit a full bug report,
with preprocessed source if appropriate.
But:
$ gcc -c alt.i -maltivec -mabi=altivec
$
I haven't found such information, but I suppose that altivec ABI may be needed
for this code (for function to return a vector?) - so it probably fall under
"ice-on-invalid-code" - but please check.
--
Summary: ICE on simple altivec code compiled w/o -mabi=altivec
flag
Product: gcc
Version: 3.3.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: qboosh at pld-linux dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: ppc-linux
GCC host triplet: ppc-linux
GCC target triplet: ppc-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13780