summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/ppc/simpshft.s
blob: 39ff98d07b66d53a4d21fc7b883692814e65585a (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# These are all the examples from section F.4 of
# "PowerPC Microprocessor Family: The Programming Environments".
# 64-bit examples
	extrdi	%r4,%r3,1,0
	insrdi	%r3,%r4,1,0
	sldi	%r5,%r5,8
	clrldi	%r4,%r3,32
# 32-bit examples
	extrwi	%r4,%r3,1,0
	insrwi	%r3,%r4,1,0
	slwi	%r5,%r5,8
	clrlwi	%r4,%r3,16


# These test the remaining corner cases for 64-bit operations.
	extldi	%r4,%r3,1,0
	extldi	%r4,%r3,64,0
	extldi	%r4,%r3,1,63
	extldi	%r4,%r3,64,63    # bit weird, that one.
	
	extrdi	%r4,%r3,63,0
	extrdi	%r4,%r3,1,62

	insrdi	%r4,%r3,64,0
	insrdi	%r4,%r3,63,0
	insrdi	%r4,%r3,1,62
	insrdi	%r4,%r3,1,63

	rotldi	%r4,%r3,0
	rotldi	%r4,%r3,1
	rotldi	%r4,%r3,63

	rotrdi	%r4,%r3,0
	rotrdi	%r4,%r3,1
	rotrdi	%r4,%r3,63

	rotld	%r5,%r3,%r4

	sldi	%r4,%r3,0
	sldi	%r4,%r3,63

	srdi	%r4,%r3,0
	srdi	%r4,%r3,1
	srdi	%r4,%r3,63

	clrldi	%r4,%r3,0
	clrldi	%r4,%r3,1
	clrldi	%r4,%r3,63

	clrrdi	%r4,%r3,0
	clrrdi	%r4,%r3,1
	clrrdi	%r4,%r3,63
	
	clrlsldi	%r4,%r3,0,0
	clrlsldi	%r4,%r3,1,0
	clrlsldi	%r4,%r3,63,0
	clrlsldi	%r4,%r3,63,1
	clrlsldi	%r4,%r3,63,63
	
# These test the remaining corner cases for 32-bit operations.
	extlwi	%r4,%r3,1,0
	extlwi	%r4,%r3,32,0
	extlwi	%r4,%r3,1,31
	extlwi	%r4,%r3,32,31    # bit weird, that one.
	
	extrwi	%r4,%r3,31,0
	extrwi	%r4,%r3,1,30
	
	inslwi	%r4,%r3,1,0
	inslwi	%r4,%r3,32,0
	inslwi	%r4,%r3,1,31
	
	insrwi	%r4,%r3,1,0
	insrwi	%r4,%r3,32,0
	insrwi	%r4,%r3,1,31
	
	rotlwi	%r4,%r3,0
	rotlwi	%r4,%r3,1
	rotlwi	%r4,%r3,31

	rotrwi	%r4,%r3,0
	rotrwi	%r4,%r3,1
	rotrwi	%r4,%r3,31

	rotlw	%r5,%r3,%r4

	slwi	%r4,%r3,0
	slwi	%r4,%r3,1
	slwi	%r4,%r3,31

	srwi	%r4,%r3,0
	srwi	%r4,%r3,1
	srwi	%r4,%r3,31

	clrlwi	%r4,%r3,0
	clrlwi	%r4,%r3,1
	clrlwi	%r4,%r3,31

	clrrwi	%r4,%r3,0
	clrrwi	%r4,%r3,1
	clrrwi	%r4,%r3,31
	
	clrlslwi	%r4,%r3,0,0
	clrlslwi	%r4,%r3,1,0
	clrlslwi	%r4,%r3,31,0
	clrlslwi	%r4,%r3,31,1
	clrlslwi	%r4,%r3,31,31

# Force alignment so that we pass the test on AIX
	.p2align	3