# sh testcase for fdiv.d $drg, $drh, $drf -*- Asm -*-
# mach: all
# as: -isa=shmedia
# ld: -m shelf64

	.include "media/testutils.inc"

	start
init:
	pta wrong, tr0

fdivd1:
	movi 1, r0
	fmov.qd r0, dr0
	float.qd dr0, dr0
	movi 2, r1
	fmov.qd r1, dr2
	float.qd dr2, dr2
	fdiv.d dr0, dr2, dr4

fdvid2:
	movi 6, r0
	fmov.qd r0, dr0
	float.qd dr0, dr0
	movi 2, r1
	fmov.qd r1, dr2
	float.qd dr2, dr2
	fdiv.d dr0, dr2, dr4
	movi 3, r3
	fmov.qd r3, dr6
	float.qd dr6, dr6
	fcmpeq.d dr4, dr6, r7
	bnei r7, 1, tr0

okay:
	pass

wrong:
	fail
