You copied the Doc URL to your clipboard.

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)

set_bigend = (E == '1');

T1

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

T1

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

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';
Was this page helpful? Yes No