summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/sh64/media/subl.cgs
blob: 98abe59f666ca982ab8011d4e4c19841751c8e0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# sh testcase for sub.l $rm, $rn, $rd -*- Asm -*-
# mach: all
# as: -isa=shmedia
# ld: -m shelf64

	.include "media/testutils.inc"

	start

init:
	pta wrong, tr0

subl1:
	# Test that the top 32 bits are ignored.
	movi 1, r0
	shlli r0, 32, r0
	ori r0, 7, r0

	movi 1, r1
	shlli r1, 32, r1
	ori r1, 2, r1

	sub.l r0, r1, r2
	bnei r2, 5, tr0

subl2:
	# Test that 0 - 1 is sign extended.
	movi 0, r0
	movi 1, r1
	sub.l r0, r1, r2
	addi r2, 1, r2
	bnei r2, 0, tr0

okay:
	pass

wrong:
	fail