[openacc] vector state propagation

Cesar Philippidis cesar@codesourcery.com
Mon Feb 22 15:30:00 GMT 2016


This patch teaches the nvptx vector state propagator how to handle
QImode and HImode variables. Basically, I'm converting the 8- and 16-bit
values into 32-bits so that the shuffle broadcast can be used to
propagate the register.

I'm not sure if my solution is the best way to resolve this problem. It
looks like the nvptx backend frequently assigns a larger .u16 and .u32
register for chars and shorts, and consequently masks this problem in
-O0.  Because a lot of the registers are already u32, the conversion to
and from u8 and u16 seems like an unnecessary step, when the nvptx
backend should be able to broadcast the origin u32 register directly.

Is there a better way to resolve this issue, or is this patch OK for
trunk as-is?

Cesar
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vprop.diff
Type: text/x-patch
Size: 1842 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20160222/bd2f4519/attachment.bin>


More information about the Gcc-patches mailing list