diff --git a/doc/aarch64/supported-instructions-aarch64.md b/doc/aarch64/supported-instructions-aarch64.md index b11e0cfd..5919354f 100644 --- a/doc/aarch64/supported-instructions-aarch64.md +++ b/doc/aarch64/supported-instructions-aarch64.md @@ -24,6 +24,7 @@ AArch64 integer instructions ---------------------------- + ### ADC ### Add with carry bit. @@ -214,6 +215,7 @@ Convert floating-point condition flags from Arm format to alternative format _(A + ### B ### Conditional branch to PC offset. @@ -392,6 +394,7 @@ Branch target identification. + ### CAS ### Compare and Swap word or doubleword in memory _(Armv8.1)_. @@ -749,6 +752,7 @@ Conditional select negation: rd = cond ? rn : -rm. + ### DC ### System data cache operation. @@ -771,6 +775,7 @@ Data synchronization barrier. + ### EON ### Bitwise enor/xnor (A ^ ~B). @@ -803,6 +808,7 @@ Extract. + ### HINT ### System hint (named type). @@ -825,6 +831,7 @@ Halting debug-mode breakpoint. + ### IC ### System instruction cache operation. @@ -840,6 +847,7 @@ Instruction synchronization barrier. + ### LDADD ### Atomic add on word or doubleword in memory _(Armv8.1)_ @@ -1877,6 +1885,7 @@ Logical shift right by variable. + ### MADD ### Multiply and accumulate. @@ -1968,6 +1977,7 @@ Move inverted operand to register. + ### NEG ### Negate. @@ -2004,6 +2014,7 @@ No-op. + ### ORN ### Bitwise nor (A | ~B). @@ -2019,6 +2030,7 @@ Bitwise or (A | B). + ### PACDA ### Pointer Authentication Code for Data address, using key A _(Armv8.3)_. @@ -2189,6 +2201,7 @@ Prefetch memory (with unscaled offset, allowing unallocated hints). + ### RBIT ### Bit reverse. @@ -2267,6 +2280,7 @@ Rotate right by variable. + ### SBC ### Subtract with carry bit. @@ -3040,6 +3054,7 @@ System instruction. + ### TBNZ ### Test bit and branch to PC offset if not zero. @@ -3076,6 +3091,7 @@ Bit test and set flags. + ### UBFIZ ### Unsigned bitfield insert with zero at right. @@ -3176,6 +3192,7 @@ Unsigned extend word. + ### XAFLAG ### Convert floating-point condition flags from alternative format to Arm format _(Armv8.5)_. @@ -3209,6 +3226,7 @@ AArch64 floating point and NEON instructions -------------------------------------------- + ### ABS ### Absolute value. @@ -3266,6 +3284,7 @@ Bitwise and. + ### BIC ### Bit clear immediate. @@ -3302,6 +3321,7 @@ Bitwise select. + ### CLS ### Count leading sign bits. @@ -3401,6 +3421,7 @@ Population count per byte. + ### DUP ### Duplicate general-purpose register to vector. @@ -3416,6 +3437,7 @@ Duplicate vector element to vector or scalar. + ### EOR ### Bitwise eor. @@ -3434,6 +3456,7 @@ Extract vector from pair of vectors. + ### FABD ### FP absolute difference. @@ -4316,6 +4339,7 @@ FP subtract. + ### INS ### Insert vector element from another vector element. @@ -4334,6 +4358,7 @@ Insert vector element from general-purpose register. + ### LD1 ### One-element single structure load to one lane. @@ -4473,6 +4498,7 @@ Four-element single structure load to all lanes. + ### MLA ### Multiply-add by scalar element. @@ -4590,6 +4616,7 @@ Vector move inverted immediate. + ### NEG ### Negate. @@ -4605,6 +4632,7 @@ Bitwise not. + ### ORN ### Bitwise orn. @@ -4627,6 +4655,7 @@ Bitwise or. + ### PMUL ### Polynomial multiply. @@ -4649,6 +4678,7 @@ Polynomial multiply long (second part). + ### RADDHN ### Rounding add narrow returning high half. @@ -4720,6 +4750,7 @@ Rounding subtract narrow returning high half (second part). + ### SABA ### Signed absolute difference and accumulate. @@ -5620,6 +5651,7 @@ Signed extend long (second part). + ### TBL ### Table lookup from four registers. @@ -5715,6 +5747,7 @@ Transpose vectors (secondary). + ### UABA ### Unsigned absolute difference and accumulate. @@ -6251,6 +6284,7 @@ Unzip vectors (secondary). + ### XTN ### Extract narrow. @@ -6266,6 +6300,7 @@ Extract narrow (second part). + ### ZIP1 ### Zip vectors (primary). @@ -6285,6 +6320,7 @@ AArch64 Scalable Vector Extension (SVE) instructions ---------------------------------------------------- + ### ABS ### Absolute value (predicated). @@ -6481,6 +6517,7 @@ Reversed arithmetic shift right by vector (predicated). + ### BCAX ### Bitwise clear and exclusive OR. @@ -6683,6 +6720,7 @@ Bitwise select with second input inverted. + ### CADD ### Complex integer add with rotate. @@ -7114,6 +7152,7 @@ Compare and terminate loop. + ### DECB ### Decrement scalar by multiple of predicate constraint element count. @@ -7206,6 +7245,7 @@ Broadcast logical bitmask immediate to vector (unpredicated). + ### EON ### Bitwise exclusive OR with inverted immediate (unpredicated). @@ -7299,6 +7339,7 @@ Extract vector from pair of vectors. + ### FABD ### Floating-point absolute difference (predicated). @@ -8208,6 +8249,7 @@ Floating-point trigonometric select coefficient. + ### HISTCNT ### Count matching elements in vector. @@ -8226,6 +8268,7 @@ Count matching elements in vector segments. + ### INCB ### Increment scalar by multiple of predicate constraint element count. @@ -8332,6 +8375,7 @@ Insert general-purpose register in shifted vector. + ### LASTA ### Extract element after last to SIMD&FP scalar register. @@ -9115,6 +9159,7 @@ Reversed logical shift right by vector (predicated). + ### MAD ### Multiply-add vectors (predicated), writing multiplicand [Zdn = Za + Zdn * Zm]. @@ -9345,6 +9390,7 @@ Multiply vectors (unpredicated). + ### NAND ### Bitwise NAND predicates. @@ -9438,6 +9484,7 @@ Bitwise invert predicate, setting the condition flags. + ### ORN ### Bitwise OR inverted predicate. @@ -9517,6 +9564,7 @@ Bitwise OR reduction to scalar. + ### PFALSE ### Set all predicate elements to false. @@ -9637,6 +9685,7 @@ Unpack and widen half of predicate. + ### RADDHNB ### Rounding add narrow high part (bottom). @@ -9750,6 +9799,7 @@ Rounding subtract narrow high part (top). + ### SABA ### Signed absolute difference and accumulate. @@ -11288,6 +11338,7 @@ Signed word extend (predicated). + ### TBL ### Programmable table lookup in one or two vector table (zeroing). @@ -11345,6 +11396,7 @@ Interleave even or odd elements from two vectors. + ### UABA ### Unsigned absolute difference and accumulate. @@ -12194,6 +12246,7 @@ Concatenate even or odd elements from two vectors. + ### WHILEGE ### While decrementing signed scalar greater than or equal to scalar. @@ -12292,6 +12345,7 @@ Write the first-fault register. + ### XAR ### Bitwise exclusive OR and rotate right by immediate. @@ -12303,6 +12357,7 @@ Bitwise exclusive OR and rotate right by immediate. + ### ZIP1 ### Interleave elements from two half predicates. @@ -12340,6 +12395,7 @@ Additional or pseudo instructions --------------------------------- + ### BIND ### Bind a label to the current PC. @@ -12348,6 +12404,7 @@ Bind a label to the current PC. + ### DC ### Emit data in the instruction stream. @@ -12377,6 +12434,7 @@ Emit raw instructions into the instruction stream. + ### PLACE ### Place a literal at the current PC. diff --git a/tools/make_instruction_doc_aarch64.pl b/tools/make_instruction_doc_aarch64.pl index 5d8c7859..9ff32f8d 100755 --- a/tools/make_instruction_doc_aarch64.pl +++ b/tools/make_instruction_doc_aarch64.pl @@ -176,7 +176,7 @@ sub describe_insts next if($inst{$i}->{'type'} ne $type); unless ($last_initial eq $inst{$i}->{'initial'}) { $last_initial = $inst{$i}->{'initial'}; - $result .= sprintf("\n", lc($type), $last_initial); + $result .= sprintf("\n\n", lc($type), $last_initial); } $result .= sprintf("### %s ###\n\n%s\n\n", uc($inst{$i}->{'mnemonic'}),