@RUN: llvm-mc -triple arm-none-eabi -mcpu=cortex-m33 -filetype=obj %s | llvm-objdump -d --mcpu=cortex-m3 - | FileCheck %s @ Check that instructions that are disassembled as within an IT @ block advance the IT state. This prevents the IT state spilling over into @ the next instruction. @ The vldmiaeq instruction is disassembled as with @ -mcpu=cortex-m3 as this does not have a fpu. .text .fpu fp-armv8 .thumb ite eq vldmiaeq r0!, {s16-s31} addne r0, r0, r0 add r1, r1, r1 itet eq vldmiaeq r0!, {s16-s31} vldmiane r0!, {s16-s31} vldmiaeq r0!, {s16-s31} add r0, r0, r0 add r1, r1, r1 add r2, r2, r2 it eq vldmiaeq r0!, {s16-s31} it ne addne r0, r0, r0 @ CHECK: 0: bf0c ite eq @ CHECK-NEXT: 2: ecb0 8a10 @ CHECK-NEXT: 6: 1800 addne r0, r0, r0 @ CHECK-NEXT: 8: 4409 add r1, r1 @ CHECK-NEXT: a: bf0a itet eq @ CHECK-NEXT: c: ecb0 8a10 @ CHECK-NEXT: 10: ecb0 8a10 @ CHECK-NEXT: 14: ecb0 8a10 @ CHECK-NEXT: 18: 4400 add r0, r0 @ CHECK-NEXT: 1a: 4409 add r1, r1 @ CHECK-NEXT: 1c: 4412 add r2, r2 @ CHECK-NEXT: 1e: bf08 it eq @ CHECK-NEXT: 20: ecb0 8a10 @ CHECK-NEXT: 24: bf18 it ne @ CHECK-NEXT: 26: 1800 addne r0, r0, r0