]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add support for the lbarx, lharx, stbcx and sthcs instructions.
authorCarl Love <cel@us.ibm.com>
Mon, 20 Apr 2015 23:38:33 +0000 (23:38 +0000)
committerCarl Love <cel@us.ibm.com>
Mon, 20 Apr 2015 23:38:33 +0000 (23:38 +0000)
One of the expect files was missing.  Also found that there
was a bug in the stq, stqcx, lq and lqarx instructions for LE.
The VEX commit for the instruction fix was 3138.

This commit updates the expect files for the corrected instructions
and adds the missing expect files.

The bugzilla for the orginal issue of the missing instructions
is 346324.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15120

memcheck/tests/ppc32/Makefile.am
memcheck/tests/ppc32/power_ISA2_07.stdout.exp-LE [deleted file]
none/tests/ppc32/Makefile.am
none/tests/ppc64/jm_int_isa_2_07.stdout.exp
none/tests/ppc64/jm_int_isa_2_07.stdout.exp-LE [new file with mode: 0644]

index e5f52fdf8ef7e49203ca536899c81d6be7bad3f7..26b95a22446de485acd7eeeb92a74478e0ac9d1d 100644 (file)
@@ -6,7 +6,7 @@ dist_noinst_SCRIPTS = filter_stderr
 EXTRA_DIST = $(noinst_SCRIPTS) \
        power_ISA2_05.stderr.exp power_ISA2_05.stdout.exp power_ISA2_05.vgtest \
        power_ISA2_05.stdout.exp_Without_FPPO \
-       power_ISA2_07.stdout.exp  power_ISA2_07.stdout.exp-LE \
+       power_ISA2_07.stdout.exp \
        power_ISA2_07.stderr.exp power_ISA2_07.vgtest
 
 check_PROGRAMS = \
@@ -16,11 +16,11 @@ power_ISA2_05_CFLAGS = $(AM_CFLAGS) $(WERROR) -Winline -Wall -Wshadow -g \
                -I$(top_srcdir)/include @FLAG_M32@
 
 if HAS_ISA_2_07
-       BUILD_FLAGS_ISA_2_07 =  -mhtm -mcpu=power8
-       ISA_2_07_FLAG = -DHAS_ISA_2_07
+BUILD_FLAGS_ISA_2_07 =  -mhtm -mcpu=power8
+ISA_2_07_FLAG = -DHAS_ISA_2_07
 else
-       BUILD_FLAGS_ISA_2_07 =
-       ISA_2_07_FLAG =
+BUILD_FLAGS_ISA_2_07 =
+ISA_2_07_FLAG =
 endif
 
 power_ISA2_07_CFLAGS = $(AM_CFLAGS) $(WERROR) -Winline -Wall -Wshadow -g \
diff --git a/memcheck/tests/ppc32/power_ISA2_07.stdout.exp-LE b/memcheck/tests/ppc32/power_ISA2_07.stdout.exp-LE
deleted file mode 100644 (file)
index 80dd84b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-lbarx => 0x77
-lharx => 0xbeef
index 366f5b03b91811d5852d0e17d5ede103987a0c1e..e66992cdf264471f9f0c0b7a20f672a0c1afef2a 100644 (file)
@@ -40,7 +40,7 @@ EXTRA_DIST = \
        test_dfp5.stderr.exp test_dfp5.stdout.exp test_dfp5.vgtest \
        jm_vec_isa_2_07.stderr.exp jm_vec_isa_2_07.stdout.exp jm_vec_isa_2_07.vgtest \
        jm_fp_isa_2_07.stderr.exp jm_fp_isa_2_07.stdout.exp jm_fp_isa_2_07.vgtest \
-       jm_int_isa_2_07.stdout.exp jm_int_isa_2_07.stdout.exp-LE \
+       jm_int_isa_2_07.stdout.exp \
        jm_int_isa_2_07.stderr.exp jm_int_isa_2_07.vgtest \
        test_isa_2_07_part2.stderr.exp test_isa_2_07_part2.stdout.exp test_isa_2_07_part2.vgtest \
        test_tm.stderr.exp test_tm.stdout.exp test_tm.vgtest \
index e31b9736227d64e1f18b7b9dfe4c573c1aab850e..938ee93447fdaebded61a1a2dba45ab5b6821e38 100644 (file)
@@ -1,17 +1 @@
-stq abcdef0123456789,1133557722446688,   0 => abcdef0123456789,1133557722446688)
-
-lq (0xaaccee0011335577, 0xabcdef0123456789) =>  (reg_pair = 0xaaccee0011335577, 0xabcdef0123456789)
-
-lbarx (0xaaccee0011335577, 0xabcdef0123456789) =>  (reg_pair = 0x00000000000000aa, 0x0000000000000000)
-
-lharx (0xaaccee0011335577, 0xabcdef0123456789) =>  (reg_pair = 0x000000000000aacc, 0x0000000000000000)
-
-lqarx (0xaaccee0011335577, 0xabcdef0123456789) =>  (reg_pair = 0xaaccee0011335577, 0xabcdef0123456789)
-
-stbcx. abefcd0145236789,1155337744226688 => 8900000000000000,0000000000000001; CR=20000000
-
-sthcx. abefcd0145236789,1155337744226688 => 6789000000000000,0000000000000001; CR=20000000
-
-stqcx. abefcd0145236789,1155337744226688 => abefcd0145236789,1155337744226688; CR=20000000
-
-All done. Tested 8 different instructions
+NO ISA 2.07 SUPPORT
diff --git a/none/tests/ppc64/jm_int_isa_2_07.stdout.exp-LE b/none/tests/ppc64/jm_int_isa_2_07.stdout.exp-LE
new file mode 100644 (file)
index 0000000..5876128
--- /dev/null
@@ -0,0 +1,17 @@
+stq abcdef0123456789,1133557722446688,   0 => 1133557722446688,abcdef0123456789)
+
+lq (0xaaccee0011335577, 0xabcdef0123456789) =>  (reg_pair = 0xabcdef0123456789, 0xaaccee0011335577)
+
+lbarx (0xaaccee0011335577, 0xabcdef0123456789) =>  (reg_pair = 0x0000000000000077, 0x0000000000000000)
+
+lharx (0xaaccee0011335577, 0xabcdef0123456789) =>  (reg_pair = 0x0000000000005577, 0x0000000000000000)
+
+lqarx (0xaaccee0011335577, 0xabcdef0123456789) =>  (reg_pair = 0xabcdef0123456789, 0xaaccee0011335577)
+
+stbcx. abefcd0145236789,1155337744226688 => 0000000000000089,0000000000000001; CR=20000000
+
+sthcx. abefcd0145236789,1155337744226688 => 0000000000006789,0000000000000001; CR=20000000
+
+stqcx. abefcd0145236789,1155337744226688 => 1155337744226688,abefcd0145236789; CR=20000000
+
+All done. Tested 8 different instructions