aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/score/tcond.s
blob: fe89bad3a1d7e059afbd329632d9c69ded775d34 (plain) (blame)
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
/*
 * test relax
 * Tcond <-> Tcond!
 * sdbbp <-> sdbbp!
	
 * Author: ligang
 */

.macro tran insn32, insn16
/* This block transform 32b instruction to 16b. */
.align 4
	
  \insn32               #32b -> 16b
  \insn16

  \insn32               #32b -> 16b
  \insn32               #32b -> 16b

  \insn16      
  \insn32               #32b -> 16b

  \insn32               #No transform
  add r18, r20, r24

/* This block transform 16b instruction to 32b. */
.align 4
	
  \insn16               #No transform
  \insn32

  \insn16               #No transform
  \insn16

  \insn16               #16b -> 32b
  xor r18, r20, r24
	
.endm

  tran "tset", "tset!"
  tran "tcs",  "tcs!"
  tran "tcc",  "tcc!"
  tran "tgtu", "tgtu!"
  tran "tleu", "tleu!"
  tran "teq",  "teq!"
  tran "tne",  "tne!"
  tran "tgt",  "tgt!"
  tran "tle",  "tle!"
  tran "tge",  "tge!"
  tran "tlt",  "tlt!"
  tran "tmi",  "tmi!"
  tran "tpl",  "tpl!"
  tran "tvs",  "tvs!"
  tran "tvc",  "tvc!"
  tran "tcnz", "tcnz!"
  tran "sdbbp 12", "sdbbp! 12"