h8300-elf-gccで-msx(h8sx)指定だとbtst命令をうまく使ってくれません。
例のごとく、h8300.mdを眺めて見つけました。
(define_insn ""
[(set (cc0) (compare
(zero_extract:HI (match_operand:HI 0 "register_operand" "r")
(const_int 1)
(match_operand 1 "const_int_operand" "n"))
(const_int 0)))]
"
TARGET_H8300"
"btst %Z1,%Y0"
[(set_attr "length" "2")
(set_attr "cc" "set_zn")])
なぜか、-msxのときは、このパターンでないとbtstを使わないようです。
-ms,-mh指定の時はなぜか大丈夫なところがなんとなく納得できないところ
[0回]
PR