mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-27 06:44:12 +08:00
h8300.c (output_logical_op): Use sub.w to clear a half of an SImode register on H8/300.
* config/h8300/h8300.c (output_logical_op): Use sub.w to clear a half of an SImode register on H8/300. From-SVN: r49648
This commit is contained in:
parent
3611ccb484
commit
6dfa4005a2
@ -1,3 +1,8 @@
|
||||
2002-02-09 Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* config/h8300/h8300.c (output_logical_op): Use sub.w to clear
|
||||
a half of an SImode register on H8/300.
|
||||
|
||||
Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.md (movdi_2): Add missing '!'.
|
||||
|
@ -1567,9 +1567,8 @@ output_logical_op (mode, code, operands)
|
||||
1) the special insn (in case of AND or XOR),
|
||||
2) the word-wise insn, and
|
||||
3) The byte-wise insn. */
|
||||
if ((TARGET_H8300H || TARGET_H8300S)
|
||||
&& ((det & 0x0000ffff) == 0x0000ffff)
|
||||
&& code != IOR)
|
||||
if ((det & 0x0000ffff) == 0x0000ffff
|
||||
&& (TARGET_H8300 ? (code == AND) : (code != IOR)))
|
||||
output_asm_insn ((code == AND)
|
||||
? "sub.w\t%f0,%f0" : "not.w\t%f0",
|
||||
operands);
|
||||
@ -1594,9 +1593,8 @@ output_logical_op (mode, code, operands)
|
||||
}
|
||||
}
|
||||
|
||||
if ((TARGET_H8300H || TARGET_H8300S)
|
||||
&& ((det & 0xffff0000) == 0xffff0000)
|
||||
&& code != IOR)
|
||||
if ((det & 0xffff0000) == 0xffff0000
|
||||
&& (TARGET_H8300 ? (code == AND) : (code != IOR)))
|
||||
output_asm_insn ((code == AND)
|
||||
? "sub.w\t%e0,%e0" : "not.w\t%e0",
|
||||
operands);
|
||||
|
Loading…
Reference in New Issue
Block a user