2004-05-26 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 26 May 2004 17:48:59 +0000 (17:48 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 26 May 2004 17:48:59 +0000 (17:48 +0000)
* gas/ia64/ia64.exp: Run invalid-ar.

* gas/ia64/invalid-ar.l: New file. Test invalid AR access.
* gas/ia64/invalid-ar.s: Likewise.

gas/testsuite/ChangeLog
gas/testsuite/gas/ia64/ia64.exp
gas/testsuite/gas/ia64/invalid-ar.l [new file with mode: 0644]
gas/testsuite/gas/ia64/invalid-ar.s [new file with mode: 0644]

index 99983681a42c34fd2ab643ae7409ac639675e5a9..2169b61056afbec424bd7293dfa41b5abf73b30e 100644 (file)
@@ -1,3 +1,10 @@
+2004-05-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gas/ia64/ia64.exp: Run invalid-ar.
+       
+       * gas/ia64/invalid-ar.l: New file. Test invalid AR access.
+       * gas/ia64/invalid-ar.s: Likewise.
+
 2004-05-24  Peter Barada  <peter@the-baradas.com>
 
        * gas/m68k/mcf-emac.d: Provide correct disassembler results.
index 9990d27a5e98d1655b571502ef3600f720172915..df9feb029b43b86ed6f9baa20e7e5bf4cf6b4383 100644 (file)
@@ -40,6 +40,8 @@ if [istarget "ia64-*"] then {
     run_list_test "ldxmov-2" ""
     run_dump_test "ltoff22x-1"
     
+    run_list_test "invalid-ar" ""
+
     run_dump_test "dependency-1"
 
     run_dump_test "real"
diff --git a/gas/testsuite/gas/ia64/invalid-ar.l b/gas/testsuite/gas/ia64/invalid-ar.l
new file mode 100644 (file)
index 0000000..be8ed25
--- /dev/null
@@ -0,0 +1,124 @@
+.*: Assembler messages:
+.*:2: Error: AR 0 cannot be accessed by M-unit
+.*:3: Error: AR 1 cannot be accessed by M-unit
+.*:4: Error: AR 2 cannot be accessed by M-unit
+.*:5: Error: AR 3 cannot be accessed by M-unit
+.*:6: Error: AR 4 cannot be accessed by M-unit
+.*:7: Error: AR 5 cannot be accessed by M-unit
+.*:8: Error: AR 6 cannot be accessed by M-unit
+.*:9: Error: AR 7 cannot be accessed by M-unit
+.*:10: Error: AR 8 cannot be accessed by M-unit
+.*:11: Error: AR 9 cannot be accessed by M-unit
+.*:12: Error: AR 10 cannot be accessed by M-unit
+.*:13: Error: AR 11 cannot be accessed by M-unit
+.*:14: Error: AR 12 cannot be accessed by M-unit
+.*:15: Error: AR 13 cannot be accessed by M-unit
+.*:16: Error: AR 14 cannot be accessed by M-unit
+.*:17: Error: AR 15 cannot be accessed by M-unit
+.*:18: Error: AR 16 cannot be accessed by M-unit
+.*:19: Error: AR 17 cannot be accessed by M-unit
+.*:20: Error: AR 18 cannot be accessed by M-unit
+.*:21: Error: AR 19 cannot be accessed by M-unit
+.*:22: Error: AR 20 cannot be accessed by M-unit
+.*:23: Error: AR 21 cannot be accessed by M-unit
+.*:24: Error: AR 22 cannot be accessed by M-unit
+.*:25: Error: AR 23 cannot be accessed by M-unit
+.*:26: Error: AR 24 cannot be accessed by M-unit
+.*:27: Error: AR 25 cannot be accessed by M-unit
+.*:28: Error: AR 26 cannot be accessed by M-unit
+.*:29: Error: AR 27 cannot be accessed by M-unit
+.*:30: Error: AR 28 cannot be accessed by M-unit
+.*:31: Error: AR 29 cannot be accessed by M-unit
+.*:32: Error: AR 30 cannot be accessed by M-unit
+.*:33: Error: AR 31 cannot be accessed by M-unit
+.*:34: Error: AR 32 cannot be accessed by M-unit
+.*:35: Error: AR 33 cannot be accessed by M-unit
+.*:36: Error: AR 34 cannot be accessed by M-unit
+.*:37: Error: AR 35 cannot be accessed by M-unit
+.*:38: Error: AR 36 cannot be accessed by M-unit
+.*:39: Error: AR 37 cannot be accessed by M-unit
+.*:40: Error: AR 38 cannot be accessed by M-unit
+.*:41: Error: AR 39 cannot be accessed by M-unit
+.*:42: Error: AR 40 cannot be accessed by M-unit
+.*:43: Error: AR 41 cannot be accessed by M-unit
+.*:44: Error: AR 42 cannot be accessed by M-unit
+.*:45: Error: AR 43 cannot be accessed by M-unit
+.*:46: Error: AR 44 cannot be accessed by M-unit
+.*:47: Error: AR 45 cannot be accessed by M-unit
+.*:48: Error: AR 46 cannot be accessed by M-unit
+.*:49: Error: AR 47 cannot be accessed by M-unit
+.*:54: Error: AR 64 cannot be accessed by I-unit
+.*:55: Error: AR 65 cannot be accessed by I-unit
+.*:56: Error: AR 66 cannot be accessed by I-unit
+.*:57: Error: AR 67 cannot be accessed by I-unit
+.*:58: Error: AR 68 cannot be accessed by I-unit
+.*:59: Error: AR 69 cannot be accessed by I-unit
+.*:60: Error: AR 70 cannot be accessed by I-unit
+.*:61: Error: AR 71 cannot be accessed by I-unit
+.*:62: Error: AR 72 cannot be accessed by I-unit
+.*:63: Error: AR 73 cannot be accessed by I-unit
+.*:64: Error: AR 74 cannot be accessed by I-unit
+.*:65: Error: AR 75 cannot be accessed by I-unit
+.*:66: Error: AR 76 cannot be accessed by I-unit
+.*:67: Error: AR 77 cannot be accessed by I-unit
+.*:68: Error: AR 78 cannot be accessed by I-unit
+.*:69: Error: AR 79 cannot be accessed by I-unit
+.*:70: Error: AR 80 cannot be accessed by I-unit
+.*:71: Error: AR 81 cannot be accessed by I-unit
+.*:72: Error: AR 82 cannot be accessed by I-unit
+.*:73: Error: AR 83 cannot be accessed by I-unit
+.*:74: Error: AR 84 cannot be accessed by I-unit
+.*:75: Error: AR 85 cannot be accessed by I-unit
+.*:76: Error: AR 86 cannot be accessed by I-unit
+.*:77: Error: AR 87 cannot be accessed by I-unit
+.*:78: Error: AR 88 cannot be accessed by I-unit
+.*:79: Error: AR 89 cannot be accessed by I-unit
+.*:80: Error: AR 90 cannot be accessed by I-unit
+.*:81: Error: AR 91 cannot be accessed by I-unit
+.*:82: Error: AR 92 cannot be accessed by I-unit
+.*:83: Error: AR 93 cannot be accessed by I-unit
+.*:84: Error: AR 94 cannot be accessed by I-unit
+.*:85: Error: AR 95 cannot be accessed by I-unit
+.*:86: Error: AR 96 cannot be accessed by I-unit
+.*:87: Error: AR 97 cannot be accessed by I-unit
+.*:88: Error: AR 98 cannot be accessed by I-unit
+.*:89: Error: AR 99 cannot be accessed by I-unit
+.*:90: Error: AR 100 cannot be accessed by I-unit
+.*:91: Error: AR 101 cannot be accessed by I-unit
+.*:92: Error: AR 102 cannot be accessed by I-unit
+.*:93: Error: AR 103 cannot be accessed by I-unit
+.*:94: Error: AR 104 cannot be accessed by I-unit
+.*:95: Error: AR 105 cannot be accessed by I-unit
+.*:96: Error: AR 106 cannot be accessed by I-unit
+.*:97: Error: AR 107 cannot be accessed by I-unit
+.*:98: Error: AR 108 cannot be accessed by I-unit
+.*:99: Error: AR 109 cannot be accessed by I-unit
+.*:100: Error: AR 110 cannot be accessed by I-unit
+.*:101: Error: AR 111 cannot be accessed by I-unit
+.*:106: Error: AR 0 cannot be accessed by M-unit
+.*:107: Error: AR 1 cannot be accessed by M-unit
+.*:108: Error: AR 2 cannot be accessed by M-unit
+.*:109: Error: AR 3 cannot be accessed by M-unit
+.*:110: Error: AR 4 cannot be accessed by M-unit
+.*:111: Error: AR 5 cannot be accessed by M-unit
+.*:112: Error: AR 6 cannot be accessed by M-unit
+.*:113: Error: AR 7 cannot be accessed by M-unit
+.*:114: Error: AR 16 cannot be accessed by M-unit
+.*:115: Error: AR 17 cannot be accessed by M-unit
+.*:116: Error: AR 18 cannot be accessed by M-unit
+.*:117: Error: AR 19 cannot be accessed by M-unit
+.*:118: Error: AR 21 cannot be accessed by M-unit
+.*:119: Error: AR 24 cannot be accessed by M-unit
+.*:120: Error: AR 25 cannot be accessed by M-unit
+.*:121: Error: AR 26 cannot be accessed by M-unit
+.*:122: Error: AR 27 cannot be accessed by M-unit
+.*:123: Error: AR 28 cannot be accessed by M-unit
+.*:124: Error: AR 29 cannot be accessed by M-unit
+.*:125: Error: AR 30 cannot be accessed by M-unit
+.*:126: Error: AR 32 cannot be accessed by M-unit
+.*:127: Error: AR 36 cannot be accessed by M-unit
+.*:128: Error: AR 40 cannot be accessed by M-unit
+.*:129: Error: AR 44 cannot be accessed by M-unit
+.*:132: Error: AR 64 cannot be accessed by I-unit
+.*:133: Error: AR 65 cannot be accessed by I-unit
+.*:134: Error: AR 66 cannot be accessed by I-unit
diff --git a/gas/testsuite/gas/ia64/invalid-ar.s b/gas/testsuite/gas/ia64/invalid-ar.s
new file mode 100644 (file)
index 0000000..79c2641
--- /dev/null
@@ -0,0 +1,134 @@
+// AR 0 to AR 47 can be accessed only by M unit.
+       mov.i r1 = ar0
+       mov.i r1 = ar1
+       mov.i r1 = ar2
+       mov.i r1 = ar3
+       mov.i r1 = ar4
+       mov.i r1 = ar5
+       mov.i r1 = ar6
+       mov.i r1 = ar7
+       mov.i r1 = ar8
+       mov.i r1 = ar9
+       mov.i r1 = ar10
+       mov.i r1 = ar11
+       mov.i r1 = ar12
+       mov.i r1 = ar13
+       mov.i r1 = ar14
+       mov.i r1 = ar15
+       mov.i r1 = ar16
+       mov.i r1 = ar17
+       mov.i r1 = ar18
+       mov.i r1 = ar19
+       mov.i r1 = ar20
+       mov.i r1 = ar21
+       mov.i r1 = ar22
+       mov.i r1 = ar23
+       mov.i r1 = ar24
+       mov.i r1 = ar25
+       mov.i r1 = ar26
+       mov.i r1 = ar27
+       mov.i r1 = ar28
+       mov.i r1 = ar29
+       mov.i r1 = ar30
+       mov.i r1 = ar31
+       mov.i r1 = ar32
+       mov.i r1 = ar33
+       mov.i r1 = ar34
+       mov.i r1 = ar35
+       mov.i r1 = ar36
+       mov.i r1 = ar37
+       mov.i r1 = ar38
+       mov.i r1 = ar39
+       mov.i r1 = ar40
+       mov.i r1 = ar41
+       mov.i r1 = ar42
+       mov.i r1 = ar43
+       mov.i r1 = ar44
+       mov.i r1 = ar45
+       mov.i r1 = ar46
+       mov.i r1 = ar47
+
+// AR 48 to 63 can be accessed by I or M units.
+
+// AR 64 to AR 111 can be accessed only by I unit.
+       mov.m r1 = ar64
+       mov.m r1 = ar65
+       mov.m r1 = ar66
+       mov.m r1 = ar67
+       mov.m r1 = ar68
+       mov.m r1 = ar69
+       mov.m r1 = ar70
+       mov.m r1 = ar71
+       mov.m r1 = ar72
+       mov.m r1 = ar73
+       mov.m r1 = ar74
+       mov.m r1 = ar75
+       mov.m r1 = ar76
+       mov.m r1 = ar77
+       mov.m r1 = ar78
+       mov.m r1 = ar79
+       mov.m r1 = ar80
+       mov.m r1 = ar81
+       mov.m r1 = ar82
+       mov.m r1 = ar83
+       mov.m r1 = ar84
+       mov.m r1 = ar85
+       mov.m r1 = ar86
+       mov.m r1 = ar87
+       mov.m r1 = ar88
+       mov.m r1 = ar89
+       mov.m r1 = ar90
+       mov.m r1 = ar91
+       mov.m r1 = ar92
+       mov.m r1 = ar93
+       mov.m r1 = ar94
+       mov.m r1 = ar95
+       mov.m r1 = ar96
+       mov.m r1 = ar97
+       mov.m r1 = ar98
+       mov.m r1 = ar99
+       mov.m r1 = ar100
+       mov.m r1 = ar101
+       mov.m r1 = ar102
+       mov.m r1 = ar103
+       mov.m r1 = ar104
+       mov.m r1 = ar105
+       mov.m r1 = ar106
+       mov.m r1 = ar107
+       mov.m r1 = ar108
+       mov.m r1 = ar109
+       mov.m r1 = ar110
+       mov.m r1 = ar111
+
+// AR 112 to 127 can be accessed by I or M units.
+
+// AR K0 to AR ITC can be accessed only by M unit.
+       mov.i r1 = ar.k0
+       mov.i r1 = ar.k1
+       mov.i r1 = ar.k2
+       mov.i r1 = ar.k3
+       mov.i r1 = ar.k4
+       mov.i r1 = ar.k5
+       mov.i r1 = ar.k6
+       mov.i r1 = ar.k7
+       mov.i r1 = ar.rsc
+       mov.i r1 = ar.bsp
+       mov.i r1 = ar.bspstore
+       mov.i r1 = ar.rnat
+       mov.i r1 = ar.fcr
+       mov.i r1 = ar.eflag
+       mov.i r1 = ar.csd
+       mov.i r1 = ar.ssd
+       mov.i r1 = ar.cflg
+       mov.i r1 = ar.fsr
+       mov.i r1 = ar.fir
+       mov.i r1 = ar.fdr
+       mov.i r1 = ar.ccv
+       mov.i r1 = ar.unat
+       mov.i r1 = ar.fpsr
+       mov.i r1 = ar.itc
+
+// AR PFS, LC and EC can be accessed only by I unit.
+       mov.m r1 = ar.pfs
+       mov.m r1 = ar.lc
+       mov.m r1 = ar.ec