diff options
Diffstat (limited to 'cpu')
-rw-r--r-- | cpu/ChangeLog | 7 | ||||
-rw-r--r-- | cpu/frv.cpu | 26 |
2 files changed, 22 insertions, 11 deletions
diff --git a/cpu/ChangeLog b/cpu/ChangeLog index f2dcc51..939544c 100644 --- a/cpu/ChangeLog +++ b/cpu/ChangeLog @@ -1,3 +1,10 @@ +2010-01-24 Doug Evans <dje@sebabeach.org> + + * frv.cpu (floating-point-conversion): Update call to fp conv op. + (floating-point-dual-conversion, ne-floating-point-dual-conversion, + conditional-floating-point-conversion, ne-floating-point-conversion, + float-parallel-mul-add-double-semantics): Ditto. + 2010-01-05 Doug Evans <dje@sebabeach.org> * m32c.cpu (f-dsp-32-u24): Fix mode of extract handler. diff --git a/cpu/frv.cpu b/cpu/frv.cpu index 8935924..b6c4f80 100644 --- a/cpu/frv.cpu +++ b/cpu/frv.cpu @@ -7050,7 +7050,7 @@ (.splice (UNIT FMALL) (FR500-MAJOR F-1) (.unsplice attr)) (.str name "$pack $" src ",$" targ) (+ pack targ op (rs-null) ope src) - (set targ (conv mode src)) + (set targ (conv mode FPCONV-DEFAULT src)) ((fr500 (unit u-float-convert)) (fr550 (unit u-float-convert))) ) ) @@ -7076,9 +7076,9 @@ (.str name "$pack $" src ",$" targ) (+ pack targ op (rs-null) ope src) (sequence () - (set targ (conv mode src)) + (set targ (conv mode FPCONV-DEFAULT src)) (set (nextreg targ_hw targ 1) - (conv mode (nextreg src_hw src 1)))) + (conv mode FPCONV-DEFAULT (nextreg src_hw src 1)))) ((fr500 (unit u-float-dual-convert))) ) ) @@ -7095,10 +7095,10 @@ (+ pack targ op (rs-null) ope src) (sequence () (c-call VOID "@cpu@_set_ne_index" (index-of targ)) - (set targ (conv mode src)) + (set targ (conv mode FPCONV-DEFAULT src)) (c-call VOID "@cpu@_set_ne_index" (add (index-of targ) 1)) (set (nextreg targ_hw targ 1) - (conv mode (nextreg src_hw src 1)))) + (conv mode FPCONV-DEFAULT (nextreg src_hw src 1)))) ((fr500 (unit u-float-dual-convert))) ) ) @@ -7114,7 +7114,7 @@ (.str name "$pack $" src ",$" targ ",$CCi,$cond") (+ pack targ op (rs-null) CCi cond ope src) (if (eq CCi (or cond 2)) - (set targ (conv mode src))) + (set targ (conv mode FPCONV-DEFAULT src))) ((fr500 (unit u-float-convert)) (fr550 (unit u-float-convert))) ) ) @@ -7131,7 +7131,7 @@ (+ pack targ op (rs-null) ope src) (sequence () (c-call VOID "@cpu@_set_ne_index" (index-of targ)) - (set targ (conv mode src))) + (set targ (conv mode FPCONV-DEFAULT src))) ((fr500 (unit u-float-convert)) (fr550 (unit u-float-convert))) ) ) @@ -7626,11 +7626,15 @@ (define-pmacro (float-parallel-mul-add-double-semantics add_sub arg1 arg2 targ) (sequence () - (set targ (ftrunc SF (mul DF (fext DF arg1) (fext DF arg2)))) + (set targ (ftrunc SF FPCONV-DEFAULT + (mul DF + (fext DF FPCONV-DEFAULT arg1) + (fext DF FPCONV-DEFAULT arg2)))) (set (nextreg h-fr targ 1) - (ftrunc SF (add_sub DF - (fext DF (nextreg h-fr arg1 1)) - (fext DF (nextreg h-fr arg2 1)))))) + (ftrunc SF FPCONV-DEFAULT + (add_sub DF + (fext DF FPCONV-DEFAULT (nextreg h-fr arg1 1)) + (fext DF FPCONV-DEFAULT (nextreg h-fr arg2 1)))))) ) (define-pmacro (float-parallel-mul-add-double |