# NOTE: Assertions have been autogenerated by utils/update_mc_test_checks.py UTC_ARGS: --version 5
# RUN: llvm-mc -triple=xtensa -mattr=+windowed -disassemble %s | FileCheck -check-prefixes=CHECK-WINDOWED %s
# RUN: not llvm-mc -triple=xtensa -disassemble %s 2>&1 | FileCheck --implicit-check-not=warning: -check-prefixes=CHECK-CORE %s

## Verify that binary code is correctly disassembled with
## windowed register option enabled. Also verify that dissasembling without
## windowed register option generates warnings.

[0x36,0x03,0x01]
# CHECK-WINDOWED: entry	a3, 128
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x30,0x14,0x00]
# CHECK-WINDOWED: movsp	a3, a4
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x15,0x10,0x00]
# CHECK-WINDOWED: call4	. +260
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x25,0x10,0x00]
# CHECK-WINDOWED: call8	. +260
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x35,0x10,0x00]
# CHECK-WINDOWED: call12	. +260
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0xd0,0x03,0x00]
# CHECK-WINDOWED: callx4	a3
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0xe0,0x03,0x00]
# CHECK-WINDOWED: callx8	a3
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0xf0,0x03,0x00]
# CHECK-WINDOWED: callx12	a3
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x90,0x00,0x00]
# CHECK-WINDOWED: retw
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x20,0x80,0x40]
# CHECK-WINDOWED: rotw	2
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x30,0xd4,0x09]
# CHECK-WINDOWED: l32e	a3, a4, -12
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x30,0xd4,0x49]
# CHECK-WINDOWED: s32e	a3, a4, -12
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x00,0x34,0x00]
# CHECK-WINDOWED: rfwo
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x00,0x35,0x00]
# CHECK-WINDOWED: rfwu
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x30,0x48,0x61]
# CHECK-WINDOWED: xsr	a3, windowbase
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding

[0x30,0x49,0x61]
# CHECK-WINDOWED: xsr	a3, windowstart
# CHECK-CORE: :[[@LINE-2]]:2: warning: invalid instruction encoding
