vrr is almost a perfect match (it is for this, larger than imm4 would need to be split).
.long : this would be uglier. use enough to be filled with nops after ? or use a 32b and 16b instead if it's in .text it should make no difference. On Fri, Apr 1, 2022 at 2:42 AM Christian Borntraeger <borntrae...@linux.ibm.com> wrote: > > > > Am 01.04.22 um 04:15 schrieb David Miller: > > Hi, > > > > There is some issue with instruction sub/alt encodings not matching, > > but I worked around it easily. > > > > I'm dropping the updated patch for the tests in here. > > I know I should resend the entire patch series as a higher version > > really, and will do so. > > I'm hoping someone can tell me if it's ok to use .insn vrr in place > > of vri(-d) as it doesn't match vri. > > [https://sourceware.org/binutils/docs-2.37/as/s390-Formats.html] > > > > .insn doesn't deal with sub encodings and there is no good alternative > > that I know of. > > > > example: > > > > /* vri-d as vrr */ > > asm volatile(".insn vrr, 0xE70000000086, %[v1], %[v2], %[v3], 0, %[I], > > 0\n" > > : [v1] "=v" (v1->v) > > : [v2] "v" (v2->v) > > , [v3] "v" (v3->v) > > , [I] "i" (I & 7)); > > > > Patch is attached > > Yes, vri sucks and does not work with vrsd. Maybe just use .long which is > probably > better than using a "wrong" format. > Opinions?