1*97ec5308Schristos# sh testcase for ftrv.s $mtrxg, $fvh, $fvf -*- Asm -*-
2*97ec5308Schristos# mach: all
3*97ec5308Schristos# as: -isa=shmedia
4*97ec5308Schristos# ld: -m shelf64
5*97ec5308Schristos
6*97ec5308Schristos	.include "media/testutils.inc"
7*97ec5308Schristos
8*97ec5308Schristos	.macro _load val, fpreg
9*97ec5308Schristos	# This macro clobbers r0.
10*97ec5308Schristos	movi \val, r0
11*97ec5308Schristos	fmov.ls r0, \fpreg
12*97ec5308Schristos	float.ls \fpreg, \fpreg
13*97ec5308Schristos	.endm
14*97ec5308Schristos
15*97ec5308Schristos	start
16*97ec5308Schristos
17*97ec5308Schristosinit:
18*97ec5308Schristos	pta wrong, tr0
19*97ec5308Schristos
20*97ec5308Schristos	_load 1,  fr0
21*97ec5308Schristos	_load 2,  fr4
22*97ec5308Schristos	_load 3,  fr8
23*97ec5308Schristos	_load 4,  fr12
24*97ec5308Schristos	_load 5,  fr1
25*97ec5308Schristos	_load 6,  fr5
26*97ec5308Schristos	_load 7,  fr9
27*97ec5308Schristos	_load 8,  fr13
28*97ec5308Schristos	_load 9,  fr2
29*97ec5308Schristos	_load 10, fr6
30*97ec5308Schristos	_load 11, fr10
31*97ec5308Schristos	_load 12, fr14
32*97ec5308Schristos	_load 13, fr3
33*97ec5308Schristos	_load 14, fr7
34*97ec5308Schristos	_load 15, fr11
35*97ec5308Schristos	_load 16, fr15
36*97ec5308Schristos
37*97ec5308Schristos	_load 1, fr16
38*97ec5308Schristos	_load 2, fr17
39*97ec5308Schristos	_load 3, fr18
40*97ec5308Schristos	_load 4, fr19
41*97ec5308Schristos
42*97ec5308Schristosftrvs:
43*97ec5308Schristos	ftrv.s mtrx0, fv16, fv20
44*97ec5308Schristos
45*97ec5308Schristoscheck:
46*97ec5308Schristos	_load 30, fr0
47*97ec5308Schristos	_load 70, fr1
48*97ec5308Schristos	_load 110, fr2
49*97ec5308Schristos	_load 150, fr3
50*97ec5308Schristos
51*97ec5308Schristos	fcmpeq.s fr0, fr20, r0
52*97ec5308Schristos	bnei r0, 1, tr0
53*97ec5308Schristos
54*97ec5308Schristos	fcmpeq.s fr1, fr21, r0
55*97ec5308Schristos	bnei r0, 1, tr0
56*97ec5308Schristos
57*97ec5308Schristos	fcmpeq.s fr2, fr22, r0
58*97ec5308Schristos	bnei r0, 1, tr0
59*97ec5308Schristos
60*97ec5308Schristos	fcmpeq.s fr3, fr23, r0
61*97ec5308Schristos	bnei r0, 1, tr0
62*97ec5308Schristos
63*97ec5308Schristosokay:
64*97ec5308Schristos	pass
65*97ec5308Schristos
66*97ec5308Schristoswrong:
67*97ec5308Schristos	fail
68