summaryrefslogtreecommitdiffstats
path: root/gcc/config/rs6000/vector.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/rs6000/vector.md')
-rw-r--r--gcc/config/rs6000/vector.md14
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/config/rs6000/vector.md b/gcc/config/rs6000/vector.md
index 0a1130f7bff..68214d91316 100644
--- a/gcc/config/rs6000/vector.md
+++ b/gcc/config/rs6000/vector.md
@@ -850,7 +850,12 @@
emit_insn (gen_vsx_xvcvdpsxws (r1, operands[1]));
emit_insn (gen_vsx_xvcvdpsxws (r2, operands[2]));
- rs6000_expand_extract_even (operands[0], r1, r2);
+
+ if (BYTES_BIG_ENDIAN)
+ rs6000_expand_extract_even (operands[0], r1, r2);
+ else
+ rs6000_expand_extract_even (operands[0], r2, r1);
+
DONE;
})
@@ -865,7 +870,12 @@
emit_insn (gen_vsx_xvcvdpuxws (r1, operands[1]));
emit_insn (gen_vsx_xvcvdpuxws (r2, operands[2]));
- rs6000_expand_extract_even (operands[0], r1, r2);
+
+ if (BYTES_BIG_ENDIAN)
+ rs6000_expand_extract_even (operands[0], r1, r2);
+ else
+ rs6000_expand_extract_even (operands[0], r2, r1);
+
DONE;
})
OpenPOWER on IntegriCloud