[PATCH] PowerPC: Add support for RFC02657 - AES acceleration, instructions

Jan Beulich jbeulich@suse.com
Tue Dec 24 07:30:53 GMT 2024


On 18.12.2024 14:26, Surya Kumari Jangala wrote:
> @@ -9389,6 +9444,16 @@ const struct powerpc_opcode powerpc_opcodes[] = {
>  {"xsnegdp",	XX2(60,377),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
>  {"xvmaxsp",	XX3(60,192),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
>  {"xvnmaddasp",	XX3(60,193),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
> +
> +{"xxaes128encp",XX3M(60,194,0,0),XX3AESM_MASK,  PPCVSX,	PPCVLE|EXT,	{XTP, XA5p, XB5p}},
> +{"xxaes192encp",XX3M(60,194,0,1),XX3AESM_MASK,  PPCVSX,	PPCVLE|EXT,	{XTP, XA5p, XB5p}},
> +{"xxaes256encp",XX3M(60,194,1,0),XX3AESM_MASK,  PPCVSX,	PPCVLE|EXT,	{XTP, XA5p, XB5p}},
> +{"xxaesencp",	XX3M(60,194,0,0),XX3AES_MASK,   PPCVSX,	PPCVLE,		{XTP, XA5p, XB5p, AESM}},
> +{"xxaes128decp",XX3M(60,202,0,0),XX3AESM_MASK,  PPCVSX,	PPCVLE|EXT,	{XTP, XA5p, XB5p}},
> +{"xxaes192decp",XX3M(60,202,0,1),XX3AESM_MASK,  PPCVSX,	PPCVLE|EXT,	{XTP, XA5p, XB5p}},
> +{"xxaes256decp",XX3M(60,202,1,0),XX3AESM_MASK,  PPCVSX,	PPCVLE|EXT,	{XTP, XA5p, XB5p}},
> +{"xxaesdecp",	XX3M(60,202,0,0),XX3AES_MASK,   PPCVSX,	PPCVLE,		{XTP, XA5p, XB5p, AESM}},
> +
>  {"xvcvspuxds",	XX2(60,392),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
>  {"xvcvdpsp",	XX2(60,393),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
>  {"xvminsp",	XX3(60,200),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
> @@ -9398,11 +9463,22 @@ const struct powerpc_opcode powerpc_opcodes[] = {
>  {"xvmovsp",	XX3(60,208),	XX3_MASK,    PPCVSX,	PPCVLE|EXT,	{XT6, XAB6}},
>  {"xvcpsgnsp",	XX3(60,208),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
>  {"xvnmsubasp",	XX3(60,209),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
> +
> +{"xxaes128genlkp",XX2M(60,420,0,0),XX2AESM_MASK, PPCVSX, PPCVLE|EXT,	{XTP, XB5p}},
> +{"xxaes192genlkp",XX2M(60,420,0,1),XX2AESM_MASK, PPCVSX, PPCVLE|EXT,	{XTP, XB5p}},
> +{"xxaes256genlkp",XX2M(60,420,1,0),XX2AESM_MASK, PPCVSX, PPCVLE|EXT,	{XTP, XB5p}},
> +{"xxaesgenlkp",   XX2M(60,420,0,0),XX2AES_MASK,  PPCVSX, PPCVLE,	{XTP, XB5p, AESM}},
> +
>  {"xvcvuxdsp",	XX2(60,424),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
>  {"xvnabssp",	XX2(60,425),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
>  {"xvtstdcsp",	XX2(60,426),  XX2DCMXS_MASK, PPCVSX3,	PPCVLE,		{XT6, XB6, DCMXS}},
>  {"xviexpsp",	XX3(60,216),	XX3_MASK,    PPCVSX3,	PPCVLE,		{XT6, XA6, XB6}},
>  {"xvnmsubmsp",	XX3(60,217),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
> +
> +{"xxgfmul128gcm",XX3GF(60,26,3,0),  XX3GFP_MASK, PPCVSX,	PPCVLE|EXT,	{XT6, XA6, XB6}},
> +{"xxgfmul128xts",XX3GF(60,26,3,1),  XX3GFP_MASK, PPCVSX,	PPCVLE|EXT,	{XT6, XA6, XB6}},
> +{"xxgfmul128",	 XX3GF(60,26,3,0),  XX3GF_MASK,  PPCVSX,	PPCVLE,		{XT6, XA6, XB6, P}},

Shouldn't all of these additions be PPCVSXF, like the RFC02677 and RFC02680
had it?

Jan


More information about the Binutils mailing list