[PATCH, i386]: Committed: Fix gcc.target/i386/sse-13.c failure
Uros Bizjak
ubizjak@gmail.com
Fri May 25 22:04:00 GMT 2007
Hello!
We should not calculate "memory" attribute for 1st alternative of
*vec_extractv2di_1_sse2. This alternative is marked as "sseishft" type,
and "memory" calculation for this type expects operands[2]. The solution
is to force "memory" attribute to "none" for this alternative.
(BTW: This error was found due to sse-13.c test, which was recently
changed to cover and test all sse/mmx intrinsics. Way to go. :) )
Patch was bootstrapped on x86_64 and regression tested with -m32 that
triggers this heisenbug. Patch was commited to SVN.
2007-05-25 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
"memory" attribute for "sseishft" type insn without operands[2].
Uros.
Index: sse.md
===================================================================
--- sse.md (revision 125067)
+++ sse.md (working copy)
@@ -4493,6 +4493,7 @@
psrldq\t{$8, %0|%0, 8}
movq\t{%H1, %0|%0, %H1}"
[(set_attr "type" "ssemov,sseishft,ssemov")
+ (set_attr "memory" "*,none,*")
(set_attr "mode" "V2SF,TI,TI")])
More information about the Gcc-patches
mailing list