Commit 1f5f063d by Mingjie Xing Committed by Mingjie Xing

Update the the macro SHIFT_COUNT_TRUNCATED for loongson.

From-SVN: r168364
parent 4fa02692
2010-12-30 Mingjie Xing <mingjie.xing@gmail.com>
* config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change
TARGET_LOONGSON_2EF to TARGET_LOONGSON_VECTORS.
* config/mips/mips.c (mips_shift_truncation_mask): Likewise.
2010-12-30 Joseph Myers <joseph@codesourcery.com> 2010-12-30 Joseph Myers <joseph@codesourcery.com>
* config/openbsd.opt: New. * config/openbsd.opt: New.
...@@ -16386,12 +16386,12 @@ void mips_function_profiler (FILE *file) ...@@ -16386,12 +16386,12 @@ void mips_function_profiler (FILE *file)
/* Implement TARGET_SHIFT_TRUNCATION_MASK. We want to keep the default /* Implement TARGET_SHIFT_TRUNCATION_MASK. We want to keep the default
behaviour of TARGET_SHIFT_TRUNCATION_MASK for non-vector modes even behaviour of TARGET_SHIFT_TRUNCATION_MASK for non-vector modes even
when TARGET_LOONGSON_2EF is true. */ when TARGET_LOONGSON_VECTORS is true. */
static unsigned HOST_WIDE_INT static unsigned HOST_WIDE_INT
mips_shift_truncation_mask (enum machine_mode mode) mips_shift_truncation_mask (enum machine_mode mode)
{ {
if (TARGET_LOONGSON_2EF && VECTOR_MODE_P (mode)) if (TARGET_LOONGSON_VECTORS && VECTOR_MODE_P (mode))
return 0; return 0;
return GET_MODE_BITSIZE (mode) - 1; return GET_MODE_BITSIZE (mode) - 1;
......
...@@ -2421,7 +2421,7 @@ typedef struct mips_args { ...@@ -2421,7 +2421,7 @@ typedef struct mips_args {
/* Standard MIPS integer shifts truncate the shift amount to the /* Standard MIPS integer shifts truncate the shift amount to the
width of the shifted operand. However, Loongson vector shifts width of the shifted operand. However, Loongson vector shifts
do not truncate the shift amount at all. */ do not truncate the shift amount at all. */
#define SHIFT_COUNT_TRUNCATED (!TARGET_LOONGSON_2EF) #define SHIFT_COUNT_TRUNCATED (!TARGET_LOONGSON_VECTORS)
/* Value is 1 if truncating an integer of INPREC bits to OUTPREC bits /* Value is 1 if truncating an integer of INPREC bits to OUTPREC bits
is done just by pretending it is already truncated. */ is done just by pretending it is already truncated. */
......
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