blob: 227ff291311dfa6781759176c74d81bc73d56ef9 [file] [log] [blame]
# frv testcase for nfdmulcs $FRi,$FRj,$FRk
# mach: fr500 fr550 frv
.include "testutils.inc"
float_constants
start
load_float_constants
load_float_constants1
.global nfdmulcs
nfdmulcs:
nfdmulcs fr16,fr4,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr8,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr12,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr16,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr20,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr24,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr28,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr32,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr36,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr40,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr44,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr16,fr48,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr4,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr8,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr12,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr16,fr2
test_fr_fr fr2,fr16
test_fr_fr fr3,fr20
test_fr_fr fr3,fr16
test_fr_fr fr2,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr20,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr24,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr28,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr32,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr36,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr40,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr44,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr20,fr48,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr0,fr2
test_fr_fr fr2,fr0
test_fr_fr fr3,fr0
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr4,fr2
test_fr_fr fr2,fr4
test_fr_fr fr3,fr4
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr8,fr2
test_fr_fr fr2,fr8
test_fr_fr fr3,fr8
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr12,fr2
test_fr_fr fr2,fr12
test_fr_fr fr3,fr12
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr16,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr20,fr2
test_fr_fr fr2,fr16
test_fr_fr fr2,fr20
test_fr_fr fr3,fr16
test_fr_fr fr3,fr20
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr24,fr2
test_fr_fr fr2,fr24
test_fr_fr fr3,fr24
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr28,fr2
test_fr_fr fr2,fr28
test_fr_fr fr3,fr28
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr32,fr2
test_fr_fr fr2,fr32
test_fr_fr fr3,fr32
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr36,fr2
test_fr_fr fr2,fr36
test_fr_fr fr3,fr36
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr40,fr2
test_fr_fr fr2,fr40
test_fr_fr fr3,fr40
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr44,fr2
test_fr_fr fr2,fr44
test_fr_fr fr3,fr44
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr48,fr2
test_fr_fr fr2,fr48
test_fr_fr fr3,fr48
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr52,fr2
test_fr_fr fr2,fr52
test_fr_fr fr3,fr52
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr28,fr8,fr2
test_fr_fr fr2,fr8
test_fr_fr fr3,fr8
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr8,fr28,fr2
test_fr_fr fr2,fr8
test_fr_fr fr3,fr8
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr32,fr36,fr2
test_fr_fr fr2,fr40
test_fr_fr fr3,fr40
test_spr_immed 0,fner1
test_spr_immed 0,fner0
; try to cause exceptions
nfdmulcs fr48,fr32,fr2
; test_fr_fr fr2,fr44
; test_fr_fr fr3,fr44
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr52,fr28,fr2
; test_fr_fr fr2,fr44
; test_fr_fr fr3,fr44
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr56,fr28,fr2
; test_fr_fr fr2,fr44
; test_fr_fr fr3,fr44
test_spr_immed 0,fner1
test_spr_immed 0,fner0
nfdmulcs fr60,fr28,fr2
; test_fr_fr fr2,fr44
; test_fr_fr fr3,fr44
test_spr_immed 0xc,fner1
test_spr_immed 0,fner0
; test all regs different
set_spr_immed 0,fner0
set_spr_immed 0,fner1
set_fr_fr fr32,fr50 ; 2
set_fr_fr fr28,fr51 ; 1
set_fr_fr fr44,fr52 ; 9
set_fr_fr fr36,fr53 ; 3
nfdmulcs fr50,fr52,fr54 ; 2*3, 1*9
test_fr_fr fr54,fr40 ; 6
test_fr_fr fr55,fr44 ; 9
test_spr_immed 0,fner1
test_spr_immed 0,fner0
pass