Created by: joshua-warburton
This patch adds the appropriate macros, tests and codec entries to encode the following variants:
CNTD <Xd>{, <pattern>{, MUL #<imm>}}
CNTH <Xd>{, <pattern>{, MUL #<imm>}}
CNTW <Xd>{, <pattern>{, MUL #<imm>}}
DECW <Xdn>{, <pattern>{, MUL #<imm>}}
DECW <Zdn>.S{, <pattern>{, MUL #<imm>}}
INCB <Xdn>{, <pattern>{, MUL #<imm>}}
INCD <Xdn>{, <pattern>{, MUL #<imm>}}
INCD <Zdn>.D{, <pattern>{, MUL #<imm>}}
INCH <Xdn>{, <pattern>{, MUL #<imm>}}
INCH <Zdn>.H{, <pattern>{, MUL #<imm>}}
INCW <Xdn>{, <pattern>{, MUL #<imm>}}
INCW <Zdn>.S{, <pattern>{, MUL #<imm>}}
SQDECB <Xdn>, <Wdn>{, <pattern>{, MUL #<imm>}}
SQDECB <Xdn>{, <pattern>{, MUL #<imm>}}
SQDECD <Xdn>, <Wdn>{, <pattern>{, MUL #<imm>}}
SQDECD <Xdn>{, <pattern>{, MUL #<imm>}}
SQDECD <Zdn>.D{, <pattern>{, MUL #<imm>}}
SQDECW <Xdn>, <Wdn>{, <pattern>{, MUL #<imm>}}
SQDECW <Xdn>{, <pattern>{, MUL #<imm>}}
SQDECW <Zdn>.S{, <pattern>{, MUL #<imm>}}
SQINCB <Xdn>, <Wdn>{, <pattern>{, MUL #<imm>}}
SQINCB <Xdn>{, <pattern>{, MUL #<imm>}}
SQINCD <Xdn>, <Wdn>{, <pattern>{, MUL #<imm>}}
SQINCD <Xdn>{, <pattern>{, MUL #<imm>}}
SQINCD <Zdn>.D{, <pattern>{, MUL #<imm>}}
SQINCH <Xdn>, <Wdn>{, <pattern>{, MUL #<imm>}}
SQINCH <Xdn>{, <pattern>{, MUL #<imm>}}
SQINCH <Zdn>.H{, <pattern>{, MUL #<imm>}}
SQINCW <Xdn>, <Wdn>{, <pattern>{, MUL #<imm>}}
SQINCW <Xdn>{, <pattern>{, MUL #<imm>}}
SQINCW <Zdn>.S{, <pattern>{, MUL #<imm>}}
UQDECB <Wdn>{, <pattern>{, MUL #<imm>}}
UQDECB <Xdn>{, <pattern>{, MUL #<imm>}}
UQDECD <Wdn>{, <pattern>{, MUL #<imm>}}
UQDECD <Xdn>{, <pattern>{, MUL #<imm>}}
UQDECD <Zdn>.D{, <pattern>{, MUL #<imm>}}
UQDECH <Wdn>{, <pattern>{, MUL #<imm>}}
UQDECH <Xdn>{, <pattern>{, MUL #<imm>}}
UQDECH <Zdn>.H{, <pattern>{, MUL #<imm>}}
UQDECW <Wdn>{, <pattern>{, MUL #<imm>}}
UQDECW <Xdn>{, <pattern>{, MUL #<imm>}}
UQDECW <Zdn>.S{, <pattern>{, MUL #<imm>}}
UQINCB <Wdn>{, <pattern>{, MUL #<imm>}}
UQINCB <Xdn>{, <pattern>{, MUL #<imm>}}
UQINCD <Wdn>{, <pattern>{, MUL #<imm>}}
UQINCD <Xdn>{, <pattern>{, MUL #<imm>}}
UQINCD <Zdn>.D{, <pattern>{, MUL #<imm>}}
UQINCH <Wdn>{, <pattern>{, MUL #<imm>}}
UQINCH <Xdn>{, <pattern>{, MUL #<imm>}}
UQINCH <Zdn>.H{, <pattern>{, MUL #<imm>}}
UQINCW <Wdn>{, <pattern>{, MUL #<imm>}}
UQINCW <Xdn>{, <pattern>{, MUL #<imm>}}
UQINCW <Zdn>.S{, <pattern>{, MUL #<imm>}}
issues: #3044