aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog9
-rw-r--r--gas/testsuite/gas/ia64/dv-mutex-err.l9
-rw-r--r--gas/testsuite/gas/ia64/dv-mutex-err.s24
-rw-r--r--gas/testsuite/gas/ia64/dv-mutex.d14
-rw-r--r--gas/testsuite/gas/ia64/dv-mutex.s14
5 files changed, 68 insertions, 2 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 87e242c..0b33c0c 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2003-10-22 Andreas Schwab <schwab@suse.de>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/ia64/dv-mutex-err.s: Add more tests for compare.
+ * gas/ia64/dv-mutex.s: Likewise.
+
+ * gas/ia64/dv-mutex-err.l: Updated.
+ * gas/ia64/dv-mutex.d: Likewise.
+
2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
* gas/mmix/op-0-1.d, gas/mmix/pushj-c.d, gas/mmix/weak1.d: Add
diff --git a/gas/testsuite/gas/ia64/dv-mutex-err.l b/gas/testsuite/gas/ia64/dv-mutex-err.l
index a6df710..17960be 100644
--- a/gas/testsuite/gas/ia64/dv-mutex-err.l
+++ b/gas/testsuite/gas/ia64/dv-mutex-err.l
@@ -2,3 +2,12 @@
.*:9: Warning: Use of 'ld8' .* RAW dependency 'GR%, % in 1 - 127' \(impliedf\), specific resource number is 26
.*:9: Warning: Only the first path encountering the conflict is reported
.*:8: Warning: This is the location of the conflicting usage
+.*:14: Warning: Use of 'mov' may violate WAW dependency 'GR%, % in 1 - 127' \(impliedf\), specific resource number is 4
+.*:14: Warning: Only the first path encountering the conflict is reported
+.*:13: Warning: This is the location of the conflicting usage
+.*:20: Warning: Use of 'mov' may violate WAW dependency 'GR%, % in 1 - 127' \(impliedf\), specific resource number is 4
+.*:19: Warning: This is the location of the conflicting usage
+.*:26: Warning: Use of 'mov' may violate WAW dependency 'GR%, % in 1 - 127' \(impliedf\), specific resource number is 4
+.*:25: Warning: This is the location of the conflicting usage
+.*:32: Warning: Use of 'mov' may violate WAW dependency 'GR%, % in 1 - 127' \(impliedf\), specific resource number is 4
+.*:31: Warning: This is the location of the conflicting usage
diff --git a/gas/testsuite/gas/ia64/dv-mutex-err.s b/gas/testsuite/gas/ia64/dv-mutex-err.s
index e6eaaaa..dc39199 100644
--- a/gas/testsuite/gas/ia64/dv-mutex-err.s
+++ b/gas/testsuite/gas/ia64/dv-mutex-err.s
@@ -7,3 +7,27 @@ start:
cmp.eq p6, p0 = r29, r0
add r26 = r26, r29
ld8 r29 = [r26]
+
+ .pred.rel.mutex p1, p2
+ cmp.eq p0, p1 = r1, r2;;
+(p1) mov r4 = 2
+(p2) mov r4 = 4
+ rfi
+
+ .pred.rel.mutex p1, p2
+(p3) cmp.eq p0, p1 = r1, r2;;
+(p1) mov r4 = 2
+(p2) mov r4 = 4
+ rfi
+
+ .pred.rel.mutex p1, p2
+ cmp.eq p2, p3 = r1, r2;;
+(p1) mov r4 = 2
+(p2) mov r4 = 4
+ rfi
+
+ .pred.rel.mutex p1, p2
+(p3) cmp.eq p2, p3 = r1, r2;;
+(p1) mov r4 = 2
+(p2) mov r4 = 4
+ rfi
diff --git a/gas/testsuite/gas/ia64/dv-mutex.d b/gas/testsuite/gas/ia64/dv-mutex.d
index 247c42e..2926ab2 100644
--- a/gas/testsuite/gas/ia64/dv-mutex.d
+++ b/gas/testsuite/gas/ia64/dv-mutex.d
@@ -19,9 +19,21 @@ Disassembly of section \.text:
30: 1d 00 00 00 01 00 \[MFB\] nop\.m 0x0
36: 00 00 00 02 00 00 nop\.f 0x0
3c: 00 00 20 00 rfi;;
- 40: 60 08 06 04 02 78 \[MII\] \(p03\) cmp\.eq\.unc p1,p2=r1,r2
+ 40: 6a 08 06 04 02 78 \[MMI\] \(p03\) cmp\.eq\.unc p1,p2=r1,r2;;
46: 40 10 00 00 42 81 \(p01\) mov r4=2
4c: 40 00 00 84 \(p02\) mov r4=4
50: 1d 00 00 00 01 00 \[MFB\] nop\.m 0x0
56: 00 00 00 02 00 00 nop\.f 0x0
5c: 00 00 20 00 rfi;;
+ 60: 0a 08 04 04 02 78 \[MMI\] cmp\.eq p1,p2=r1,r2;;
+ 66: 40 10 00 00 42 81 \(p01\) mov r4=2
+ 6c: 40 00 00 84 \(p02\) mov r4=4
+ 70: 1d 00 00 00 01 00 \[MFB\] nop\.m 0x0
+ 76: 00 00 00 02 00 00 nop\.f 0x0
+ 7c: 00 00 20 00 rfi;;
+ 80: 6a 08 04 04 02 78 \[MMI\] \(p03\) cmp\.eq p1,p2=r1,r2;;
+ 86: 40 10 00 00 42 81 \(p01\) mov r4=2
+ 8c: 40 00 00 84 \(p02\) mov r4=4
+ 90: 1d 00 00 00 01 00 \[MFB\] nop\.m 0x0
+ 96: 00 00 00 02 00 00 nop\.f 0x0
+ 9c: 00 00 20 00 rfi;;
diff --git a/gas/testsuite/gas/ia64/dv-mutex.s b/gas/testsuite/gas/ia64/dv-mutex.s
index 8704b27..c1841df 100644
--- a/gas/testsuite/gas/ia64/dv-mutex.s
+++ b/gas/testsuite/gas/ia64/dv-mutex.s
@@ -17,7 +17,19 @@ start:
rfi
// unconditional compares generate a mutex
-(p3) cmp.eq.unc p1, p2 = r1, r2
+(p3) cmp.eq.unc p1, p2 = r1, r2;;
+(p1) mov r4 = 2
+(p2) mov r4 = 4
+ rfi
+
+// non-predicated compares don't remove mutex
+ cmp.eq p1, p2 = r1, r2;;
+(p1) mov r4 = 2
+(p2) mov r4 = 4
+ rfi
+
+// predicated compares don't remove mutex
+(p3) cmp.eq p1, p2 = r1, r2;;
(p1) mov r4 = 2
(p2) mov r4 = 4
rfi