[patch, ia64, committed] Fix vector instructions on IA64 HP-UX

Steve Ellcey sje@cup.hp.com
Fri Feb 4 17:38:00 GMT 2011


Richard,

I went back to the IA64 vectorization patch you sent me earlier and
tried to get it working on HP-UX.  I believe I have it working now and
would like to check in the modified patch.  I have attached the full
patch to this email.  The differences between this and your patch are
listed below.

The vec_interleave_* change is the biggest difference.  When I
tried to switch between unpack.l and unpack.h instructions based on
TARGET_BIG_ENDIAN I get lots of failures.  Even when I try to compensate
in the vect.md and ia64.c code where we make gen_vec_interleave_* calls
I continue to get failures.

I am still working on the vec_extract_evenv2sf, vec_extract_oddv2sf code
to try and get that working.

I wanted to see if you had any comments before I check it in.

Steve Ellcey
sje@cup.hp.com


Changes between this patch and your original patch:

vec_interleave_low*/_high* - I swap arguments but do not swap .h for .l.

reduc_splus_v2sf  - Added 'if (TARGET_BIG_ENDIAN)' to swap call.
reduc_smax_v2sf
reduc_smin_v2sf

vec_extract_evenv2si - Added 'if (TARGET_BIG_ENDIAN)' to inverleave
call.
vec_extract_oddv2si  - Ditto.

vec_extract_evenv2sf - Temporarily turned off to avoid regressions.
vec_extract_oddv2sf  - Ditto.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: diff.out
Type: text/x-patch
Size: 37343 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110204/126cb0c5/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ChangeLog
Type: text/x-changelog
Size: 2311 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110204/126cb0c5/attachment-0001.bin>


More information about the Gcc-patches mailing list