<!-- handler is invoked. If none of the tested conditions are met, instruction -->
<!-- execution continues normally. -->
-# Trap Word Immediate
+[[!inline pagenames="openpower/isa/fixedtrap/twi" raw="yes"]]
-D-Form
+[[!inline pagenames="openpower/isa/fixedtrap/tw" raw="yes"]]
-* twi TO,RA,SI
+[[!inline pagenames="openpower/isa/fixedtrap/tdi" raw="yes"]]
-Pseudo-code:
+[[!inline pagenames="openpower/isa/fixedtrap/td" raw="yes"]]
- a <- EXTS((RA)[XLEN/2:XLEN-1])
- if (a < EXTS(SI)) & TO[0] then TRAP
- if (a > EXTS(SI)) & TO[1] then TRAP
- if (a = EXTS(SI)) & TO[2] then TRAP
- if (a <u EXTS(SI)) & TO[3] then TRAP
- if (a >u EXTS(SI)) & TO[4] then TRAP
-
-Special Registers Altered:
-
- None
-
-# Trap Word
-
-X-Form
-
-* tw TO,RA,RB
-
-Pseudo-code:
-
- a <- EXTS((RA)[XLEN/2:XLEN-1])
- b <- EXTS((RB)[XLEN/2:XLEN-1])
- if (a < b) & TO[0] then TRAP
- if (a > b) & TO[1] then TRAP
- if (a = b) & TO[2] then TRAP
- if (a <u b) & TO[3] then TRAP
- if (a >u b) & TO[4] then TRAP
-
-Special Registers Altered:
-
- None
-
-# Trap Doubleword Immediate
-
-D-Form
-
-* tdi TO,RA,SI
-
-Pseudo-code:
-
- a <- (RA)
- b <- EXTS(SI)
- if (a < b) & TO[0] then TRAP
- if (a > b) & TO[1] then TRAP
- if (a = b) & TO[2] then TRAP
- if (a <u b) & TO[3] then TRAP
- if (a >u b) & TO[4] then TRAP
-
-Special Registers Altered:
-
- None
-
-# Trap Doubleword
-
-X-Form
-
-* td TO,RA,RB
-
-Pseudo-code:
-
- a <- (RA)
- b <- (RB)
- if (a < b) & TO[0] then TRAP
- if (a > b) & TO[1] then TRAP
- if (a = b) & TO[2] then TRAP
- if (a <u b) & TO[3] then TRAP
- if (a >u b) & TO[4] then TRAP
-
-Special Registers Altered:
-
- None
-
-# Integer Select
-
-A-Form
-
-* isel RT,RA,RB,BC
-
-Pseudo-code:
-
- if CR[BC+32]=1 then RT <- (RA|0)
- else RT <- (RB)
-
-Special Registers Altered:
-
- None
-
-<!-- Checked March 2021 -->
+[[!inline pagenames="openpower/isa/fixedtrap/isel" raw="yes"]]