Commit a4ad093b by Bill Schmidt Committed by William Schmidt

altivec.md (altivec_vpkpx): Handle little endian.

2013-07-24  Bill Schmidt  <wschmidt@linux.ibm.com>
	    Anton Blanchard <anton@au1.ibm.com>

	* config/rs6000/altivec.md (altivec_vpkpx): Handle little endian.
	(altivec_vpks<VI_char>ss): Likewise.
	(altivec_vpks<VI_char>us): Likewise.
	(altivec_vpku<VI_char>us): Likewise.
	(altivec_vpku<VI_char>um): Likewise.


Co-Authored-By: Anton Blanchard <anton@au1.ibm.com>

From-SVN: r201235
parent 484b502a
2013-07-24 Bill Schmidt <wschmidt@linux.ibm.com>
Anton Blanchard <anton@au1.ibm.com>
* config/rs6000/altivec.md (altivec_vpkpx): Handle little endian.
(altivec_vpks<VI_char>ss): Likewise.
(altivec_vpks<VI_char>us): Likewise.
(altivec_vpku<VI_char>us): Likewise.
(altivec_vpku<VI_char>um): Likewise.
2013-07-24 David Malcolm <dmalcolm@redhat.com>
Introduce context class.
......
......@@ -1047,7 +1047,13 @@
(match_operand:V4SI 2 "register_operand" "v")]
UNSPEC_VPKPX))]
"TARGET_ALTIVEC"
"vpkpx %0,%1,%2"
"*
{
if (BYTES_BIG_ENDIAN)
return \"vpkpx %0,%1,%2\";
else
return \"vpkpx %0,%2,%1\";
}"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vpks<VI_char>ss"
......@@ -1056,7 +1062,13 @@
(match_operand:VP 2 "register_operand" "v")]
UNSPEC_VPACK_SIGN_SIGN_SAT))]
"<VI_unit>"
"vpks<VI_char>ss %0,%1,%2"
"*
{
if (BYTES_BIG_ENDIAN)
return \"vpks<VI_char>ss %0,%1,%2\";
else
return \"vpks<VI_char>ss %0,%2,%1\";
}"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vpks<VI_char>us"
......@@ -1065,7 +1077,13 @@
(match_operand:VP 2 "register_operand" "v")]
UNSPEC_VPACK_SIGN_UNS_SAT))]
"<VI_unit>"
"vpks<VI_char>us %0,%1,%2"
"*
{
if (BYTES_BIG_ENDIAN)
return \"vpks<VI_char>us %0,%1,%2\";
else
return \"vpks<VI_char>us %0,%2,%1\";
}"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vpku<VI_char>us"
......@@ -1074,7 +1092,13 @@
(match_operand:VP 2 "register_operand" "v")]
UNSPEC_VPACK_UNS_UNS_SAT))]
"<VI_unit>"
"vpku<VI_char>us %0,%1,%2"
"*
{
if (BYTES_BIG_ENDIAN)
return \"vpku<VI_char>us %0,%1,%2\";
else
return \"vpku<VI_char>us %0,%2,%1\";
}"
[(set_attr "type" "vecperm")])
(define_insn "altivec_vpku<VI_char>um"
......@@ -1083,7 +1107,13 @@
(match_operand:VP 2 "register_operand" "v")]
UNSPEC_VPACK_UNS_UNS_MOD))]
"<VI_unit>"
"vpku<VI_char>um %0,%1,%2"
"*
{
if (BYTES_BIG_ENDIAN)
return \"vpku<VI_char>um %0,%1,%2\";
else
return \"vpku<VI_char>um %0,%2,%1\";
}"
[(set_attr "type" "vecperm")])
(define_insn "*altivec_vrl<VI_char>"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment