]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Add docs and arch tests to BMI.
authorQuentin Neill <quentin.neill@amd.com>
Fri, 7 Jan 2011 17:44:30 +0000 (17:44 +0000)
committerQuentin Neill <quentin.neill@amd.com>
Fri, 7 Jan 2011 17:44:30 +0000 (17:44 +0000)
gas/
2011-01-07  Quentin Neill  <quentin.neill@amd.com>

* config/tc-i386.c (cpu_arch): Add CPU_BMI_FLAGS.

* doc/c-i386.texi (i386-BMI): New section.

gas/testsuite/
2011-01-07  Quentin Neill  <quentin.neill@amd.com>

* gas/i386/arch-10.s: Add a BMI instruction.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/arch-10.d: Add bmi flag and BMI instruction pattern.
* gas/i386/x86-64-arch-2.d: Likewise.
* gas/i386/arch-10-1.l: Add BMI instruction pattern.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.

12 files changed:
gas/ChangeLog
gas/config/tc-i386.c
gas/doc/c-i386.texi
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/arch-10-1.l
gas/testsuite/gas/i386/arch-10-2.l
gas/testsuite/gas/i386/arch-10-3.l
gas/testsuite/gas/i386/arch-10-4.l
gas/testsuite/gas/i386/arch-10.d
gas/testsuite/gas/i386/arch-10.s
gas/testsuite/gas/i386/x86-64-arch-2.d
gas/testsuite/gas/i386/x86-64-arch-2.s

index 3177aa5f301785cb4326b9e75fcb91f0fb662071..9d3d46e9f6c4b7761c4426ec56ab5f75684d8f92 100644 (file)
@@ -1,3 +1,9 @@
+2011-01-07  Quentin Neill  <quentin.neill@amd.com>
+
+       * config/tc-i386.c (cpu_arch): Add CPU_BMI_FLAGS.
+
+       * doc/c-i386.texi (i386-BMI): New section.
+
 2011-01-06  Paul Koning  <ni1d@arrl.net>
 
        * config/tc-pdp11.c (parse_op_no_deferred): Allow PC-relative
index 2e28d8e041f2737e21a480fc41d51e69c220272e..6f30dda133b5b1f4e69970b47c0bc7d7f7bbf4fb 100644 (file)
@@ -725,6 +725,8 @@ static const arch_entry cpu_arch[] =
     CPU_SSE4A_FLAGS, 0, 0 },
   { STRING_COMMA_LEN (".abm"), PROCESSOR_UNKNOWN,
     CPU_ABM_FLAGS, 0, 0 },
+  { STRING_COMMA_LEN (".bmi"), PROCESSOR_UNKNOWN,
+    CPU_BMI_FLAGS, 0, 0 },
 };
 
 #ifdef I386COFF
index 5c1c6bda186974cb6728dde20badbe1ab260fddd..4ea33f6db513c05c267f7499716d28de273f28b4 100644 (file)
@@ -35,6 +35,7 @@ extending the Intel architecture to 64-bits.
 * i386-Float::                  Floating Point
 * i386-SIMD::                   Intel's MMX and AMD's 3DNow! SIMD Operations
 * i386-LWP::                    AMD's Lightweight Profiling Instructions
+* i386-BMI::                    Bit Manipulation Instruction
 * i386-16bit::                  Writing 16-bit Code
 * i386-Arch::                   Specifying an x86 CPU architecture
 * i386-Bugs::                   AT&T Syntax bugs
@@ -845,6 +846,21 @@ For detailed information on the LWP instruction set, see the
 @cite{AMD Lightweight Profiling Specification} available at
 @uref{http://developer.amd.com/cpu/LWP,Lightweight Profiling Specification}.
 
+@node i386-BMI
+@section Bit Manipulation Instructions
+
+@cindex BMI, i386
+@cindex BMI, x86-64
+
+@code{@value{AS}} supports the Bit Manipulation (BMI) instruction set.
+
+BMI instructions provide several instructions implementing individual
+bit manipulation operations such as isolation, masking, setting, or
+resetting.  
+
+@c Need to add a specification citation here when available.
+
+
 @node i386-16bit
 @section Writing 16-bit Code
 
index 4cef296de3cb6b89092900584a1a4df265a1668f..6f60a1ad067fbceead2d4f9e787e51de516d4527 100644 (file)
@@ -1,3 +1,14 @@
+2011-01-07  Quentin Neill  <quentin.neill@amd.com>
+
+       * gas/i386/arch-10.s: Add a BMI instruction.
+       * gas/i386/x86-64-arch-2.s: Likewise.
+       * gas/i386/arch-10.d: Add bmi flag and BMI instruction pattern.
+       * gas/i386/x86-64-arch-2.d: Likewise.
+       * gas/i386/arch-10-1.l: Add BMI instruction pattern.
+       * gas/i386/arch-10-2.l: Likewise.
+       * gas/i386/arch-10-3.l: Likewise.
+       * gas/i386/arch-10-4.l: Likewise.
+
 2011-01-06  Paul Koning  <ni1d@arrl.net>
 
        * gas/pdp11/pdp11.exp: Add run of absreloc.
index 0b78958dbcb349d33bd96d3f8a9d83ea225881e9..ee1e31649cafc4f8f9e860312ff6f68cb38a760c 100644 (file)
@@ -29,6 +29,7 @@
 .*:58: Error: .*
 .*:60: Error: .*
 .*:62: Error: .*
+.*:64: Error: .*
 GAS LISTING .*
 
 
@@ -98,3 +99,5 @@ GAS LISTING .*
 [      ]*60[   ]+xstorerng
 [      ]*61[   ]+\# nop
 [      ]*62[   ]+nopl \(%eax\)
+[      ]*63[   ]+\# BMI
+[      ]*64[   ]+blsr %ecx,%ebx
index d9e1b5169a676c62b791cdd2011956d077497f5f..f1abcea258ab17a7ac172e10235e2a1e7b1c7d42 100644 (file)
@@ -28,6 +28,7 @@
 .*:58: Error: .*
 .*:60: Error: .*
 .*:62: Error: .*
+.*:64: Error: .*
 GAS LISTING .*
 
 
@@ -97,3 +98,5 @@ GAS LISTING .*
 [      ]*60[   ]+xstorerng
 [      ]*61[   ]+\# nop
 [      ]*62[   ]+nopl \(%eax\)
+[      ]*63[   ]+\# BMI
+[      ]*64[   ]+blsr %ecx,%ebx
index 75c07ec16b384c67641d182eb087d153a5c75a9a..0b5d36241fd350782e155bdc358baedc00bb604e 100644 (file)
@@ -21,6 +21,7 @@
 .*:58: Error: .*
 .*:60: Error: .*
 .*:62: Error: .*
+.*:64: Error: .*
 GAS LISTING .*
 
 
@@ -93,3 +94,5 @@ GAS LISTING .*
 [      ]*60[   ]+xstorerng
 [      ]*61[   ]+\# nop
 [      ]*62[   ]+nopl \(%eax\)
+[      ]*63[   ]+\# BMI
+[      ]*64[   ]+blsr %ecx,%ebx
index 3c40045be10afde5e2424b0a010f3fa01f622d15..8cca6034d2ba349a76503b16ea37299e59231d75 100644 (file)
@@ -19,6 +19,7 @@
 .*:58: Error: .*
 .*:60: Error: .*
 .*:62: Error: .*
+.*:64: Error: .*
 GAS LISTING .*
 
 
@@ -91,3 +92,5 @@ GAS LISTING .*
 [      ]*60[   ]+xstorerng
 [      ]*61[   ]+\# nop
 [      ]*62[   ]+nopl \(%eax\)
+[      ]*63[   ]+\# BMI
+[      ]*64[   ]+blsr %ecx,%ebx
index 3efd52dd4c44d12f7fcf1caaac56f49b96155987..2225fe07b4058c62f3ff6e4069ff7df31e2a68e7 100644 (file)
@@ -1,4 +1,4 @@
-#as: -march=i686+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+nop+syscall+rdtscp+3dnowa+sse4a+svme+abm+padlock
+#as: -march=i686+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+nop+syscall+rdtscp+3dnowa+sse4a+svme+abm+padlock+bmi
 #objdump: -dw
 #name: i386 arch 10
 
@@ -37,4 +37,5 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
 [      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
 [      ]*[a-f0-9]+:    0f 1f 00                nopl   \(%eax\)
+[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
 #pass
index d0fb12b4dc9083c0c56bc97b6198959412ecbce1..f39f70ba00656fb8308ce09d26f2b02c5a641fad 100644 (file)
@@ -60,3 +60,5 @@ lzcnt %ecx,%ebx
 xstorerng
 # nop
 nopl (%eax)
+# BMI
+blsr %ecx,%ebx
index 9cd13066025df686f5e4ec70028b2ac55e718fa6..ac094533c857119ee4e277e72e02adbfa90f0a32 100644 (file)
@@ -1,4 +1,4 @@
-#as: -march=generic64+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+3dnowa+sse4a+svme+abm+padlock
+#as: -march=generic64+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+3dnowa+sse4a+svme+abm+padlock+bmi
 #objdump: -dw
 #name: x86-64 arch 2
 
@@ -36,4 +36,5 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    0f 01 da                vmload 
 [      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
 [      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
+[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
 #pass
index ddc0d40451b50411c2534b04a27669158e80e0f7..962f15eb767e2d1356e9cdfa46ca47bb19c79a3a 100644 (file)
@@ -58,3 +58,5 @@ vmload
 lzcnt %ecx,%ebx
 # PadLock
 xstorerng
+# BMI
+blsr %ecx,%ebx