Home | History | Annotate | Line # | Download | only in sh
      1 # sh testcase for fsca
      2 # mach: sh
      3 # as(sh):	-defsym sim_cpu=0
      4 # xerror: test hasn't been run in a long time
      5 
      6 	.include "testutils.inc"
      7 
      8 	start
      9 fsca:
     10 	set_grs_a5a5
     11 	set_fprs_a5a5
     12 	# Start with angle zero
     13 	mov.l	zero, r0
     14 	lds	r0, fpul
     15 	fsca	fpul, dr2
     16 	assert_fpreg_i 0, fr2
     17 	assert_fpreg_i 1, fr3
     18 
     19 	mov.l	plus_90, r0
     20 	lds	r0, fpul
     21 	fsca	fpul, dr2
     22 	assert_fpreg_i 1, fr2
     23 	assert_fpreg_i 0, fr3
     24 
     25 	mov.l	plus_180, r0
     26 	lds	r0, fpul
     27 	fsca	fpul, dr2
     28 	assert_fpreg_i 0, fr2
     29 	assert_fpreg_i -1, fr3
     30 
     31 	mov.l	plus_270, r0
     32 	lds	r0, fpul
     33 	fsca	fpul, dr2
     34 	assert_fpreg_i -1, fr2
     35 	assert_fpreg_i 0, fr3
     36 
     37 	mov.l	plus_360, r0
     38 	lds	r0, fpul
     39 	fsca	fpul, dr2
     40 	assert_fpreg_i 0, fr2
     41 	assert_fpreg_i 1, fr3
     42 
     43 	mov.l	minus_90, r0
     44 	lds	r0, fpul
     45 	fsca	fpul, dr2
     46 	assert_fpreg_i -1, fr2
     47 	assert_fpreg_i 0, fr3
     48 
     49 	mov.l	minus_180, r0
     50 	lds	r0, fpul
     51 	fsca	fpul, dr2
     52 	assert_fpreg_i 0, fr2
     53 	assert_fpreg_i -1, fr3
     54 
     55 	mov.l	minus_270, r0
     56 	lds	r0, fpul
     57 	fsca	fpul, dr2
     58 	assert_fpreg_i 1, fr2
     59 	assert_fpreg_i 0, fr3
     60 
     61 	mov.l	minus_360, r0
     62 	lds	r0, fpul
     63 	fsca	fpul, dr2
     64 	assert_fpreg_i 0, fr2
     65 	assert_fpreg_i 1, fr3
     66 
     67 	assertreg0      0xffff0000
     68 	set_greg        0xa5a5a5a5, r0
     69 	test_grs_a5a5
     70 	test_fpr_a5a5	fr0
     71 	test_fpr_a5a5	fr1
     72 	test_fpr_a5a5	fr4
     73 	test_fpr_a5a5	fr5
     74 	test_fpr_a5a5	fr6
     75 	test_fpr_a5a5	fr7
     76 	test_fpr_a5a5	fr8
     77 	test_fpr_a5a5	fr9
     78 	test_fpr_a5a5	fr10
     79 	test_fpr_a5a5	fr11
     80 	test_fpr_a5a5	fr12
     81 	test_fpr_a5a5	fr13
     82 	test_fpr_a5a5	fr14
     83 	test_fpr_a5a5	fr15
     84 	pass
     85 	exit 0
     86 
     87 		.align 2
     88 zero:		.long	0
     89 one_bitty:	.long	1
     90 plus_90:	.long	0x04000
     91 plus_180:	.long	0x08000
     92 plus_270:	.long	0x0c000
     93 plus_360:	.long	0x10000
     94 minus_90:	.long	0xffffc000
     95 minus_180:	.long	0xffff8000
     96 minus_270:	.long	0xffff4000
     97 minus_360:	.long	0xffff0000
     98 minus_1_bitty:	.long	0xffffffff
     99