This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Test invalid AR access


I will check it in shortly.


H.J.
----
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.

--- gas/ia64/ia64.exp.ar	2003-09-25 21:07:48.000000000 -0700
+++ gas/ia64/ia64.exp	2004-05-26 10:32:33.649570753 -0700
@@ -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"
--- gas/ia64/invalid-ar.l.ar	2004-05-26 10:42:09.038223263 -0700
+++ gas/ia64/invalid-ar.l	2004-05-26 10:31:06.418835258 -0700
@@ -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
--- gas/ia64/invalid-ar.s.ar	2004-05-26 10:42:10.816993373 -0700
+++ gas/ia64/invalid-ar.s	2004-05-26 09:46:32.000000000 -0700
@@ -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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]