1# Check 32bit BMI instructions 2 3 .allow_index_reg 4 .text 5_start: 6 7# Test for op r16, r/m16 8 tzcnt %ax,%bx 9 tzcnt (%ecx),%bx 10 11# Test for op r32, r32, r/m32 12 andn %eax,%ebx,%esi 13 andn (%ecx),%ebx,%esi 14 15# Test for op r32, r/m32, r32 16 bextr %eax,%ebx,%esi 17 bextr %ebx,(%ecx),%esi 18 19# Test for op r32, r/m32 20 tzcnt %eax,%ebx 21 tzcnt (%ecx),%ebx 22 blsi %eax,%ebx 23 blsi (%ecx),%ebx 24 blsmsk %eax,%ebx 25 blsmsk (%ecx),%ebx 26 blsr %eax,%ebx 27 blsr (%ecx),%ebx 28 29 .intel_syntax noprefix 30 31# Test for op r16, r/m16 32 tzcnt bx,ax 33 tzcnt bx,WORD PTR [ecx] 34 tzcnt bx,[ecx] 35 36# Test for op r32, r32, r/m32 37 andn esi,ebx,eax 38 andn esi,ebx,DWORD PTR [ecx] 39 andn esi,ebx,[ecx] 40 41# Test for op r32, r/m32, r32 42 bextr esi,ebx,eax 43 bextr esi,DWORD PTR [ecx],ebx 44 bextr esi,[ecx],ebx 45 46# Test for op r32, r/m32 47 tzcnt ebx,eax 48 tzcnt ebx,DWORD PTR [ecx] 49 tzcnt ebx,[ecx] 50 blsi ebx,eax 51 blsi ebx,DWORD PTR [ecx] 52 blsi ebx,[ecx] 53 blsmsk ebx,eax 54 blsmsk ebx,DWORD PTR [ecx] 55 blsmsk ebx,[ecx] 56 blsr ebx,eax 57 blsr ebx,DWORD PTR [ecx] 58 blsr ebx,[ecx] 59