aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/testsuite/ChangeLog3
-rw-r--r--gas/testsuite/gas/hppa/basic/basic.exp33
-rw-r--r--gas/testsuite/gas/hppa/basic/media.s22
3 files changed, 50 insertions, 8 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 1a59b24..5ca3ac0 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,8 @@
Sat Aug 28 00:16:12 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+ * gas/hppa/basic/basic.exp:
+ * gas/hppa/basic/media.s: Add test cases for new instructions.
+
* gas/hppa/basic/basic.exp (do_branch2,do_media): New.
* gas/hppa/basic/branch2.s: New.
* gas/hppa/basic/media.s: New.
diff --git a/gas/testsuite/gas/hppa/basic/basic.exp b/gas/testsuite/gas/hppa/basic/basic.exp
index 74462d7..508527e 100644
--- a/gas/testsuite/gas/hppa/basic/basic.exp
+++ b/gas/testsuite/gas/hppa/basic/basic.exp
@@ -2086,13 +2086,30 @@ proc do_media {} {
# of instructions (as these tests to).
while 1 {
expect {
- -re "^ +\[0-9\]+ 0000 096702CC\[^\n]*\n" { set x [expr $x+1] }
- -re "^ +\[0-9\]+ 0004 0967074C\[^\n]*\n" { set x [expr $x+1] }
- -re "^ +\[0-9\]+ 0008 0967078C\[^\n]*\n" { set x [expr $x+1] }
- -re "^ +\[0-9\]+ 000c 096707CC\[^\n]*\n" { set x [expr $x+1] }
- -re "^ +\[0-9\]+ 0010 0967054C\[^\n]*\n" { set x [expr $x+1] }
- -re "^ +\[0-9\]+ 0014 0967058C\[^\n]*\n" { set x [expr $x+1] }
- -re "^ +\[0-9\]+ 0018 096705CC\[^\n]*\n" { set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0000 096703CC\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0004 0967034C\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0008 0967030C\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 000c 096702CC\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0010 F8078B4B\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0014 0967074C\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0018 0967078C\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 001c 096707CC\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0020 F8E0CF4B\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0024 F8E0CF4B\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0028 F8E0CB4B\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 002c 0967054C\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0030 0967058C\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0034 096705CC\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0038 0ACE01C9\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 003c 0ACE0149\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0040 0ACE0109\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0044 FACE8409\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0048 FACEC409\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 004c FACE8009\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0050 FACEC009\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0054 FAD60E49\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 0058 FAD64A89\[^\n\]*\n" {set x [expr $x+1] }
+ -re "^ +\[0-9\]+ 005c FAD66309\[^\n\]*\n" {set x [expr $x+1] }
-re "\[^\n\]*\n" { }
timeout { perror "timeout\n"; break }
eof { break }
@@ -2104,7 +2121,7 @@ proc do_media {} {
gas_finish
# Did we find what we were looking for? If not, flunk it.
- if [expr $x==7] then { pass $testname } else { fail $testname }
+ if [expr $x==24] then { pass $testname } else { fail $testname }
}
proc do_special {} {
diff --git a/gas/testsuite/gas/hppa/basic/media.s b/gas/testsuite/gas/hppa/basic/media.s
index debcb57..e7f1e44 100644
--- a/gas/testsuite/gas/hppa/basic/media.s
+++ b/gas/testsuite/gas/hppa/basic/media.s
@@ -16,10 +16,32 @@
; immediate fields. We should also check the assorted field
; selectors to make sure they're handled correctly.
+ hadd %r7,%r11,%r12
+ hadd,ss %r7,%r11,%r12
+ hadd,us %r7,%r11,%r12
+
havg %r7,%r11,%r12
+ hshl %r7,13,%r11
hshladd %r7,1,%r11,%r12
hshladd %r7,2,%r11,%r12
hshladd %r7,3,%r11,%r12
+ hshr %r7,13,%r11
+ hshr,s %r7,13,%r11
+ hshr,u %r7,13,%r11
hshradd %r7,1,%r11,%r12
hshradd %r7,2,%r11,%r12
hshradd %r7,3,%r11,%r12
+
+ hsub %r14,%r22,%r9
+ hsub,ss %r14,%r22,%r9
+ hsub,us %r14,%r22,%r9
+
+ mixh,l %r14,%r22,%r9
+ mixh,r %r14,%r22,%r9
+ mixw,l %r14,%r22,%r9
+ mixw,r %r14,%r22,%r9
+
+ permh,0321 %r22,%r9
+ permh,2222 %r22,%r9
+ permh,3030 %r22,%r9
+