From: Richard Kenner Date: Thu, 26 Oct 1995 21:52:23 +0000 (-0400) Subject: (negdi2): Use TARGET_LITTLE_ENDIAN. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0a0b733a3d3ce0e9a0ff0c932356bea25c82b6f9;p=gcc.git (negdi2): Use TARGET_LITTLE_ENDIAN. From-SVN: r10514 --- diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 73fc26ebede..36ec02e02ce 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -949,11 +949,14 @@ "" " { - rtx low_src = operand_subword (operands[1], 1, 0, DImode); - rtx high_src = operand_subword (operands[1], 0, 0, DImode); + int low_word = (TARGET_LITTLE_ENDIAN ? 0 : 1); + int high_word = (TARGET_LITTLE_ENDIAN ? 1 : 0); - rtx low_dst = operand_subword (operands[0], 1, 1, DImode); - rtx high_dst = operand_subword (operands[0], 0, 1, DImode); + rtx low_src = operand_subword (operands[1], low_word, 0, DImode); + rtx high_src = operand_subword (operands[1], high_word, 0, DImode); + + rtx low_dst = operand_subword (operands[0], low_word, 1, DImode); + rtx high_dst = operand_subword (operands[0], high_word, 1, DImode); emit_insn (gen_clrt ()); emit_insn (gen_negc (low_dst, low_src));