Page 384 - ARM 64 Bit Assembly Language
P. 384

374 Chapter 10

                   Name             Effect                           Description
                   (s|u)shll        Vd[] ←≺Vm[]   imm                Each element of Vm is sign or
                                                                     zero extended (depending on
                                                                     <type>) then shifted left by
                                                                     the immediate value and stored
                                                                     in the corresponding element of
                                                                     Vd.
                   (s|u)qshl{u}     Vd[] ← Vm[]   imm                Each element of Vm is shifted
                                                                     left by the immediate value and
                                                                     stored in the corresponding el-
                                                                     ement of Vd. If the result of
                                                                     the shift is outside the range of
                                                                     the destination element, then
                                                                     the value is saturated. If u was
                                                                     specified, then the destination is
                                                                     treated as unsigned for saturation.
                                                                     Otherwise, it is treated as signed
                                                                     for saturation.



                  10.8.1.3 Examples

                1     shl     v1.4h,v6.4h,#4    // shift each 16-bit word left
                2     uqshl    v1.16b,v6.16b,#1  // Multiply each byte by two





                  10.8.2 Vector shift right by immediate


                  These instructions shift each element in a vector right by an immediate value:

                  shr       Shift Right Immediate,
                  rshr      Shift Right Immediate and Round,
                  shrn      Shift Right Immediate and Narrow,
                  rshrn     Shift Right Immediate Round and Narrow,
                  sra       Shift Right and Accumulate Immediate, and
                  rsra      Shift Right Round and Accumulate Immediate.
   379   380   381   382   383   384   385   386   387   388   389