fix parameter passing for booleans

This commit is contained in:
Wolfgang Thaller 2012-04-20 01:25:01 +02:00
parent 7c239da15f
commit 1c3651a81b
2 changed files with 22 additions and 5 deletions

View File

@ -309,6 +309,9 @@ along with GCC; see the file COPYING3. If not see
#define PREFERRED_STACK_BOUNDARY \
((TARGET_COLDFIRE || TARGET_FIDOA) ? 32 : 16)
#define FUNCTION_ARG_PADDING(MODE, TYPE) upward
/* No data type wants to be aligned rounder than this.
Most published ABIs say that ints should be aligned on 16-bit
boundaries, but CPUs with 32-bit busses get better performance

View File

@ -1110,12 +1110,26 @@
move%.b %1,%0"
[(set_attr "type" "clr,clr,move,move")])
(define_expand "pushqi1"
[(set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) (const_int -2)))
(set (mem:QI (plus:SI (reg:SI SP_REG) (const_int 1)))
(match_operand:QI 0 "general_operand" ""))]
; (define_expand "pushqi1"
; [(set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) (const_int -2)))
; (set (mem:QI (reg:SI SP_REG) )
; (match_operand:QI 0 "general_operand" ""))]
; "!TARGET_COLDFIRE"
; "")
; (define_insn "*pushqi1"
; [(set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) (const_int -2)))
; (set (mem:QI (reg:SI SP_REG) )
; (match_operand:QI 0 "general_operand" ""))]
; "!TARGET_COLDFIRE"
; { return "move%.b %0,%-"; })
(define_insn "*pushqi1"
[
(set (mem:QI (pre_modify:SI (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) (const_int -2))))
(match_operand:QI 0 "general_operand" "dmn"))]
"!TARGET_COLDFIRE"
"")
{ return "move%.b %0,%-"; })
(define_expand "reload_insf"
[(set (match_operand:SF 0 "nonimmediate_operand" "=f")