SETEND

Set Endianness writes a new value to PSTATE.E.

It has encodings from the following instruction sets: A32 ( A1 ) and T32 ( T1 ) .

A1

313029282726252423222120191817161514131211109876543210
111100010000(0)(0)(0)1(0)(0)(0)(0)(0)(0)E(0)0000(0)(0)(0)(0)

A1

SETEND{<q>} <endian_specifier> // (Cannot be conditional)

constant set_bigend = (E == '1');

T1

1514131211109876543210
10110110010(1)E(0)(0)(0)

T1

SETEND{<q>} <endian_specifier> // (Not permitted in IT block)

constant set_bigend = (E == '1'); if InITBlock() then UNPREDICTABLE;

For more information about the constrained unpredictable behavior of this instruction, see Architectural Constraints on UNPREDICTABLE behaviors.

Assembler Symbols

<q>

See Standard assembler syntax fields.

<endian_specifier>

Is the endianness to be selected, and the value to be set in PSTATE.E, encoded in E:

E <endian_specifier>
0 LE
1 BE

Operation

EncodingSpecificOperations(); AArch32.CheckSETENDEnabled(); PSTATE.E = if set_bigend then '1' else '0';


Internal version only: isa v01_31, pseudocode v2024-03_rel ; Build timestamp: 2024-03-25T10:05

Copyright © 2010-2024 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.