Bug 171879 - internal compiler error: in emit_move_insn
Summary: internal compiler error: in emit_move_insn
Keywords:
Status: CLOSED DUPLICATE of bug 171874
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: gcc3
Version: 4.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Jakub Jelinek
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-10-27 13:09 UTC by Hakon Bugge
Modified: 2007-11-30 22:07 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-10-27 16:41:02 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Hakon Bugge 2005-10-27 13:09:34 UTC
From Bugzilla Helper:
User-Agent: Opera/8.50 (Windows NT 5.1; U; en)

Description of problem:
Incorrect actual parameter to asm("movups") crashes compiler.

Version-Release number of selected component (if applicable):
gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1)  

How reproducible:
Always

Steps to Reproduce:
1.gcc4 -msse3 gcc_zomplex_movups_bug.c
2.
3.
  

Actual Results:  gcc_zomplex_movups_bug.c: In function ?MPI_op_scalar_zmplx_sum?:
gcc_zomplex_movups_bug.c:24: internal compiler error: in emit_move_insn, at 
expr.c:3026
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Preprocessed source stored into /tmp/cckzhovQ.out file, please attach this to 
your bugreport.


Expected Results:  An error message from compiler telling me that I use incorrect actual parameter 
to the movups instruction.

Additional info:

The whole scenario stems from the fact that load/store of vector variables 
assumes perfect alignment. Since there is no way to tell gcc that the address to 
a vector variable is misaligned, and hence gcc should emit movups instead of 
movaps, the programmer must explicit check for alignment and use inline assembly 
to generate movups.

I have submittet a "bug report" http://gcc.gnu.org/bugzilla/show_bug.cgi?
id=20982 on the issue. In my opinion, there should be a way to specify alignment 
of vector variables. By allowing __atrribute__ ((aligned)) to specify alignment 
down to the basic type is an idea.

Comment 1 Jakub Jelinek 2005-10-27 16:41:02 UTC

*** This bug has been marked as a duplicate of 171874 ***


Note You need to log in before you can comment on or make changes to this bug.