Bug 171879 - internal compiler error: in emit_move_insn
internal compiler error: in emit_move_insn
Status: CLOSED DUPLICATE of bug 171874
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: gcc3 (Show other bugs)
4.0
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2005-10-27 09:09 EDT by Hakon Bugge
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-10-27 12:41:02 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Hakon Bugge 2005-10-27 09:09:34 EDT
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 12:41:02 EDT

*** 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.