Adds command line support for Armv8.4-A, via the new command line option -march=armv8.4-a. Add support for "+dotprod" ARM feature (required for ARMv8.4-A). Add assembler and disassembler support for new FP16 instructions introduced in Armv8.4-A
gas * config/tc-arm.c (arm_extensions): (arm_archs): New entry for "armv8.4-a". Add FPU_ARCH_DOTPROD_NEON_VFP_ARMV8. (arm_ext_v8_2): New variable. (enum arm_reg_type): New enumeration REG_TYPE_NSD. (reg_expected_msgs): New entry for REG_TYPE_NSD. (parse_typed_reg_or_scalar): Handle REG_TYPE_NSD. (parse_scalar): Support REG_TYPE_VFS. (enum operand_parse_code): New enumerations OP_RNSD and OP_RNSD_RNSC. (parse_operands): Handle OP_RNSD and OP_RNSD_RNSC. (NEON_SHAPE_DEF): New entries for DHH and DHS. (neon_scalar_for_fmac_fp16_long): New function to generate Rm encoding for new FP16 instructions in ARMv8.2-A. (do_neon_fmac_maybe_scalar_long): New function to encode new FP16 instructions in ARMv8.2-A. (do_neon_vfmal): Wrapper function for vfmal. (do_neon_vfmsl): Wrapper function for vfmsl. (insns): New entries for vfmal and vfmsl. * doc/c-arm.texi (-march): Document "armv8.4-a". * testsuite/gas/arm/dotprod-mandatory.d: New test. * testsuite/gas/arm/armv8_2-a-fp16.s: New test source. * testsuite/gas/arm/armv8_2-a-fp16-illegal.s: New test source. * testsuite/gas/arm/armv8_2-a-fp16.d: New test. * testsuite/gas/arm/armv8_3-a-fp16.d: New test. * testsuite/gas/arm/armv8_4-a-fp16.d: New test. * testsuite/gas/arm/armv8_2-a-fp16-thumb2.d: New test. * testsuite/gas/arm/armv8_2-a-fp16-illegal.d: New test. * testsuite/gas/arm/armv8_2-a-fp16-illegal.l: New error file. opcodes * arm-dis.c (coprocessor_opcodes): New entries for ARMv8.2-A new FP16 instructions, including vfmal.f16 and vfmsl.f16. include * opcode/arm.h (ARM_AEXT2_V8_4A): Include Dot Product feature. (ARM_EXT2_V8_4A): New macro. (ARM_AEXT2_V8_4A): Likewise. (ARM_ARCH_V8_4A): Likewise.
This commit is contained in:
parent
6e98b3428b
commit
dec41383ff
|
@ -1,3 +1,35 @@
|
|||
2017-11-08 Jiong Wang <jiong.wang@arm.com>
|
||||
Tamar Christina <tamar.christina@arm.com>
|
||||
|
||||
* config/tc-arm.c (arm_extensions):
|
||||
(arm_archs): New entry for "armv8.4-a".
|
||||
Add FPU_ARCH_DOTPROD_NEON_VFP_ARMV8.
|
||||
(arm_ext_v8_2): New variable.
|
||||
(enum arm_reg_type): New enumeration REG_TYPE_NSD.
|
||||
(reg_expected_msgs): New entry for REG_TYPE_NSD.
|
||||
(parse_typed_reg_or_scalar): Handle REG_TYPE_NSD.
|
||||
(parse_scalar): Support REG_TYPE_VFS.
|
||||
(enum operand_parse_code): New enumerations OP_RNSD and OP_RNSD_RNSC.
|
||||
(parse_operands): Handle OP_RNSD and OP_RNSD_RNSC.
|
||||
(NEON_SHAPE_DEF): New entries for DHH and DHS.
|
||||
(neon_scalar_for_fmac_fp16_long): New function to generate Rm encoding
|
||||
for new FP16 instructions in ARMv8.2-A.
|
||||
(do_neon_fmac_maybe_scalar_long): New function to encode new FP16
|
||||
instructions in ARMv8.2-A.
|
||||
(do_neon_vfmal): Wrapper function for vfmal.
|
||||
(do_neon_vfmsl): Wrapper function for vfmsl.
|
||||
(insns): New entries for vfmal and vfmsl.
|
||||
* doc/c-arm.texi (-march): Document "armv8.4-a".
|
||||
* testsuite/gas/arm/dotprod-mandatory.d: New test.
|
||||
* testsuite/gas/arm/armv8_2-a-fp16.s: New test source.
|
||||
* testsuite/gas/arm/armv8_2-a-fp16-illegal.s: New test source.
|
||||
* testsuite/gas/arm/armv8_2-a-fp16.d: New test.
|
||||
* testsuite/gas/arm/armv8_3-a-fp16.d: New test.
|
||||
* testsuite/gas/arm/armv8_4-a-fp16.d: New test.
|
||||
* testsuite/gas/arm/armv8_2-a-fp16-thumb2.d: New test.
|
||||
* testsuite/gas/arm/armv8_2-a-fp16-illegal.d: New test.
|
||||
* testsuite/gas/arm/armv8_2-a-fp16-illegal.l: New error file.
|
||||
|
||||
2017-11-08 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* config/tc-xtensa.c (finish_vinsn): Properly pluralize error message.
|
||||
|
|
|
@ -235,6 +235,8 @@ static const arm_feature_set arm_ext_ras =
|
|||
/* FP16 instructions. */
|
||||
static const arm_feature_set arm_ext_fp16 =
|
||||
ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST);
|
||||
static const arm_feature_set arm_ext_v8_2 =
|
||||
ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_2A);
|
||||
static const arm_feature_set arm_ext_v8_3 =
|
||||
ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A);
|
||||
|
||||
|
@ -579,6 +581,7 @@ enum arm_reg_type
|
|||
REG_TYPE_NQ,
|
||||
REG_TYPE_VFSD,
|
||||
REG_TYPE_NDQ,
|
||||
REG_TYPE_NSD,
|
||||
REG_TYPE_NSDQ,
|
||||
REG_TYPE_VFC,
|
||||
REG_TYPE_MVF,
|
||||
|
@ -619,6 +622,7 @@ const char * const reg_expected_msgs[] =
|
|||
N_("Neon quad precision register expected"),
|
||||
N_("VFP single or double precision register expected"),
|
||||
N_("Neon double or quad precision register expected"),
|
||||
N_("Neon single or double precision register expected"),
|
||||
N_("VFP single, double or Neon quad precision register expected"),
|
||||
N_("VFP system register expected"),
|
||||
N_("Maverick MVF register expected"),
|
||||
|
@ -1506,6 +1510,8 @@ parse_typed_reg_or_scalar (char **ccp, enum arm_reg_type type,
|
|||
|| (type == REG_TYPE_NSDQ
|
||||
&& (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD
|
||||
|| reg->type == REG_TYPE_NQ))
|
||||
|| (type == REG_TYPE_NSD
|
||||
&& (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD))
|
||||
|| (type == REG_TYPE_MMXWC
|
||||
&& (reg->type == REG_TYPE_MMXWCG)))
|
||||
type = (enum arm_reg_type) reg->type;
|
||||
|
@ -1529,7 +1535,9 @@ parse_typed_reg_or_scalar (char **ccp, enum arm_reg_type type,
|
|||
|
||||
if (skip_past_char (&str, '[') == SUCCESS)
|
||||
{
|
||||
if (type != REG_TYPE_VFD)
|
||||
if (type != REG_TYPE_VFD
|
||||
&& !(type == REG_TYPE_VFS
|
||||
&& ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8_2)))
|
||||
{
|
||||
first_error (_("only D registers may be indexed"));
|
||||
return FAIL;
|
||||
|
@ -1625,8 +1633,12 @@ parse_scalar (char **ccp, int elsize, struct neon_type_el *type)
|
|||
int reg;
|
||||
char *str = *ccp;
|
||||
struct neon_typed_alias atype;
|
||||
enum arm_reg_type reg_type = REG_TYPE_VFD;
|
||||
|
||||
reg = parse_typed_reg_or_scalar (&str, REG_TYPE_VFD, NULL, &atype);
|
||||
if (elsize == 4)
|
||||
reg_type = REG_TYPE_VFS;
|
||||
|
||||
reg = parse_typed_reg_or_scalar (&str, reg_type, NULL, &atype);
|
||||
|
||||
if (reg == FAIL || (atype.defined & NTA_HASINDEX) == 0)
|
||||
return FAIL;
|
||||
|
@ -6486,6 +6498,7 @@ enum operand_parse_code
|
|||
OP_RND, /* Neon double precision register (0..31) */
|
||||
OP_RNQ, /* Neon quad precision register */
|
||||
OP_RVSD, /* VFP single or double precision register */
|
||||
OP_RNSD, /* Neon single or double precision register */
|
||||
OP_RNDQ, /* Neon double or quad precision register */
|
||||
OP_RNSDQ, /* Neon single, double or quad precision register */
|
||||
OP_RNSC, /* Neon scalar D[X] */
|
||||
|
@ -6512,6 +6525,7 @@ enum operand_parse_code
|
|||
OP_RVSD_I0, /* VFP S or D reg, or immediate zero. */
|
||||
OP_RSVD_FI0, /* VFP S or D reg, or floating point immediate zero. */
|
||||
OP_RR_RNSC, /* ARM reg or Neon scalar. */
|
||||
OP_RNSD_RNSC, /* Neon S or D reg, or Neon scalar. */
|
||||
OP_RNSDQ_RNSC, /* Vector S, D or Q reg, or Neon scalar. */
|
||||
OP_RNDQ_RNSC, /* Neon D or Q reg, or Neon scalar. */
|
||||
OP_RND_RNSC, /* Neon D reg, or Neon scalar. */
|
||||
|
@ -6773,6 +6787,7 @@ parse_operands (char *str, const unsigned int *pattern, bfd_boolean thumb)
|
|||
case OP_RXA: po_reg_or_fail (REG_TYPE_XSCALE); break;
|
||||
case OP_oRNQ:
|
||||
case OP_RNQ: po_reg_or_fail (REG_TYPE_NQ); break;
|
||||
case OP_RNSD: po_reg_or_fail (REG_TYPE_NSD); break;
|
||||
case OP_oRNDQ:
|
||||
case OP_RNDQ: po_reg_or_fail (REG_TYPE_NDQ); break;
|
||||
case OP_RVSD: po_reg_or_fail (REG_TYPE_VFSD); break;
|
||||
|
@ -6830,6 +6845,18 @@ parse_operands (char *str, const unsigned int *pattern, bfd_boolean thumb)
|
|||
}
|
||||
break;
|
||||
|
||||
case OP_RNSD_RNSC:
|
||||
{
|
||||
po_scalar_or_goto (8, try_s_scalar);
|
||||
break;
|
||||
try_s_scalar:
|
||||
po_scalar_or_goto (4, try_nsd);
|
||||
break;
|
||||
try_nsd:
|
||||
po_reg_or_fail (REG_TYPE_NSD);
|
||||
}
|
||||
break;
|
||||
|
||||
case OP_RNDQ_RNSC:
|
||||
{
|
||||
po_scalar_or_goto (8, try_ndq);
|
||||
|
@ -13423,7 +13450,9 @@ NEON_ENC_TAB
|
|||
X (2, (H, I), HALF), \
|
||||
X (3, (H, H, H), HALF), \
|
||||
X (3, (H, F, I), MIXED), \
|
||||
X (3, (F, H, I), MIXED)
|
||||
X (3, (F, H, I), MIXED), \
|
||||
X (3, (D, H, H), MIXED), \
|
||||
X (3, (D, H, S), MIXED)
|
||||
|
||||
#define S2(A,B) NS_##A##B
|
||||
#define S3(A,B,C) NS_##A##B##C
|
||||
|
@ -16133,6 +16162,133 @@ do_neon_mac_maybe_scalar_long (void)
|
|||
neon_mac_reg_scalar_long (N_S16 | N_S32 | N_U16 | N_U32, N_SU_32);
|
||||
}
|
||||
|
||||
/* Like neon_scalar_for_mul, this function generate Rm encoding from GAS's
|
||||
internal SCALAR. QUAD_P is 1 if it's for Q format, otherwise it's 0. */
|
||||
|
||||
static unsigned
|
||||
neon_scalar_for_fmac_fp16_long (unsigned scalar, unsigned quad_p)
|
||||
{
|
||||
unsigned regno = NEON_SCALAR_REG (scalar);
|
||||
unsigned elno = NEON_SCALAR_INDEX (scalar);
|
||||
|
||||
if (quad_p)
|
||||
{
|
||||
if (regno > 7 || elno > 3)
|
||||
goto bad_scalar;
|
||||
|
||||
return ((regno & 0x7)
|
||||
| ((elno & 0x1) << 3)
|
||||
| (((elno >> 1) & 0x1) << 5));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (regno > 15 || elno > 1)
|
||||
goto bad_scalar;
|
||||
|
||||
return (((regno & 0x1) << 5)
|
||||
| ((regno >> 1) & 0x7)
|
||||
| ((elno & 0x1) << 3));
|
||||
}
|
||||
|
||||
bad_scalar:
|
||||
first_error (_("scalar out of range for multiply instruction"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
do_neon_fmac_maybe_scalar_long (int subtype)
|
||||
{
|
||||
enum neon_shape rs;
|
||||
int high8;
|
||||
/* NOTE: vfmal/vfmsl use slightly different NEON three-same encoding. 'size"
|
||||
field (bits[21:20]) has different meaning. For scalar index variant, it's
|
||||
used to differentiate add and subtract, otherwise it's with fixed value
|
||||
0x2. */
|
||||
int size = -1;
|
||||
|
||||
if (inst.cond != COND_ALWAYS)
|
||||
as_warn (_("vfmal/vfmsl with FP16 type cannot be conditional, the "
|
||||
"behaviour is UNPREDICTABLE"));
|
||||
|
||||
constraint (!ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_fp16),
|
||||
_(BAD_FP16));
|
||||
|
||||
constraint (!ARM_CPU_HAS_FEATURE (cpu_variant, fpu_neon_ext_armv8),
|
||||
_(BAD_FPU));
|
||||
|
||||
/* vfmal/vfmsl are in three-same D/Q register format or the third operand can
|
||||
be a scalar index register. */
|
||||
if (inst.operands[2].isscalar)
|
||||
{
|
||||
high8 = 0xfe000000;
|
||||
if (subtype)
|
||||
size = 16;
|
||||
rs = neon_select_shape (NS_DHS, NS_QDS, NS_NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
high8 = 0xfc000000;
|
||||
size = 32;
|
||||
if (subtype)
|
||||
inst.instruction |= (0x1 << 23);
|
||||
rs = neon_select_shape (NS_DHH, NS_QDD, NS_NULL);
|
||||
}
|
||||
|
||||
neon_check_type (3, rs, N_EQK, N_EQK, N_KEY | N_F16);
|
||||
|
||||
/* "opcode" from template has included "ubit", so simply pass 0 here. Also,
|
||||
the "S" bit in size field has been reused to differentiate vfmal and vfmsl,
|
||||
so we simply pass -1 as size. */
|
||||
unsigned quad_p = (rs == NS_QDD || rs == NS_QDS);
|
||||
neon_three_same (quad_p, 0, size);
|
||||
|
||||
/* Undo neon_dp_fixup. Redo the high eight bits. */
|
||||
inst.instruction &= 0x00ffffff;
|
||||
inst.instruction |= high8;
|
||||
|
||||
#define LOW1(R) ((R) & 0x1)
|
||||
#define HI4(R) (((R) >> 1) & 0xf)
|
||||
/* Unlike usually NEON three-same, encoding for Vn and Vm will depend on
|
||||
whether the instruction is in Q form and whether Vm is a scalar indexed
|
||||
operand. */
|
||||
if (inst.operands[2].isscalar)
|
||||
{
|
||||
unsigned rm
|
||||
= neon_scalar_for_fmac_fp16_long (inst.operands[2].reg, quad_p);
|
||||
inst.instruction &= 0xffffffd0;
|
||||
inst.instruction |= rm;
|
||||
|
||||
if (!quad_p)
|
||||
{
|
||||
/* Redo Rn as well. */
|
||||
inst.instruction &= 0xfff0ff7f;
|
||||
inst.instruction |= HI4 (inst.operands[1].reg) << 16;
|
||||
inst.instruction |= LOW1 (inst.operands[1].reg) << 7;
|
||||
}
|
||||
}
|
||||
else if (!quad_p)
|
||||
{
|
||||
/* Redo Rn and Rm. */
|
||||
inst.instruction &= 0xfff0ff50;
|
||||
inst.instruction |= HI4 (inst.operands[1].reg) << 16;
|
||||
inst.instruction |= LOW1 (inst.operands[1].reg) << 7;
|
||||
inst.instruction |= HI4 (inst.operands[2].reg);
|
||||
inst.instruction |= LOW1 (inst.operands[2].reg) << 5;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
do_neon_vfmal (void)
|
||||
{
|
||||
return do_neon_fmac_maybe_scalar_long (0);
|
||||
}
|
||||
|
||||
static void
|
||||
do_neon_vfmsl (void)
|
||||
{
|
||||
return do_neon_fmac_maybe_scalar_long (1);
|
||||
}
|
||||
|
||||
static void
|
||||
do_neon_dyadic_wide (void)
|
||||
{
|
||||
|
@ -20644,6 +20800,10 @@ static const struct asm_opcode insns[] =
|
|||
NCE (vmovx, eb00a40, 2, (RVS, RVS), neon_movhf),
|
||||
NCE (vins, eb00ac0, 2, (RVS, RVS), neon_movhf),
|
||||
|
||||
/* New backported fma/fms instructions optional in v8.2. */
|
||||
NCE (vfmal, 810, 3, (RNDQ, RNSD, RNSD_RNSC), neon_vfmal),
|
||||
NCE (vfmsl, 810, 3, (RNDQ, RNSD, RNSD_RNSC), neon_vfmsl),
|
||||
|
||||
#undef THUMB_VARIANT
|
||||
#define THUMB_VARIANT & fpu_neon_ext_v1
|
||||
#undef ARM_VARIANT
|
||||
|
@ -26038,6 +26198,7 @@ static const struct arm_arch_option_table arm_archs[] =
|
|||
ARM_ARCH_OPT ("armv8.2-a", ARM_ARCH_V8_2A, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("armv8.3-a", ARM_ARCH_V8_3A, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("armv8-r", ARM_ARCH_V8R, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("armv8.4-a", ARM_ARCH_V8_4A, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("xscale", ARM_ARCH_XSCALE, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("iwmmxt", ARM_ARCH_IWMMXT, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("iwmmxt2", ARM_ARCH_IWMMXT2,FPU_ARCH_VFP),
|
||||
|
@ -26736,6 +26897,7 @@ static const cpu_arch_ver_table cpu_arch_ver[] =
|
|||
{16, ARM_ARCH_V8M_BASE},
|
||||
{17, ARM_ARCH_V8M_MAIN},
|
||||
{15, ARM_ARCH_V8R},
|
||||
{16, ARM_ARCH_V8_4A},
|
||||
{-1, ARM_ARCH_NONE}
|
||||
};
|
||||
|
||||
|
|
|
@ -237,6 +237,7 @@ names are recognized:
|
|||
@code{armv8.2-a},
|
||||
@code{armv8.3-a},
|
||||
@code{armv8-r},
|
||||
@code{armv8.4-a},
|
||||
@code{iwmmxt}
|
||||
@code{iwmmxt2}
|
||||
and
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
#as: -march=armv8.2-a+fp16 -mfpu=neon-fp-armv8
|
||||
#error-output: armv8_2-a-fp16-illegal.l
|
|
@ -0,0 +1,5 @@
|
|||
[^:]*.s: Assembler messages:
|
||||
[^:]*:4: Error: scalar out of range for multiply instruction -- `vfmal.f16 d2,s0,s16\[1\]'
|
||||
[^:]*:5: Error: scalar out of range for multiply instruction -- `vfmsl.f16 q13,d1,d8\[3\]'
|
||||
[^:]*:7: Error: scalar out of range for multiply instruction -- `vfmal.f16 d16,s2,s15\[2\]'
|
||||
[^:]*:8: Error: scalar out of range for multiply instruction -- `vfmsl.f16 q13,d1,d7\[4\]'
|
|
@ -0,0 +1,8 @@
|
|||
.text
|
||||
func:
|
||||
# Scalar base register out of bound
|
||||
vfmal.f16 d2, s0, s16[1]
|
||||
vfmsl.f16 q13, d1, d8[3]
|
||||
# Scalar index out of bound
|
||||
vfmal.f16 d16, s2, s15[2]
|
||||
vfmsl.f16 q13, d1, d7[4]
|
|
@ -0,0 +1,249 @@
|
|||
#as: -march=armv8.2-a+fp16 -mfpu=neon-fp-armv8 -mthumb
|
||||
#source: armv8_2-a-fp16.s
|
||||
#objdump: -d
|
||||
|
||||
.*: +file format .*arm.*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
.* <.*>:
|
||||
.*: fc21 0810 vfmal.f16 d0, s2, s0
|
||||
.*: fe00 2810 vfmal.f16 d2, s0, s0\[0\]
|
||||
.*: fca1 0810 vfmsl.f16 d0, s2, s0
|
||||
.*: fe10 2818 vfmsl.f16 d2, s0, s0\[1\]
|
||||
.*: fc21 0814 vfmal.f16 d0, s2, s8
|
||||
.*: fe00 2814 vfmal.f16 d2, s0, s8\[0\]
|
||||
.*: fca1 0814 vfmsl.f16 d0, s2, s8
|
||||
.*: fe10 281c vfmsl.f16 d2, s0, s8\[1\]
|
||||
.*: fc21 0837 vfmal.f16 d0, s2, s15
|
||||
.*: fe00 2837 vfmal.f16 d2, s0, s15\[0\]
|
||||
.*: fca1 0837 vfmsl.f16 d0, s2, s15
|
||||
.*: fe10 283f vfmsl.f16 d2, s0, s15\[1\]
|
||||
.*: fc27 0890 vfmal.f16 d0, s15, s0
|
||||
.*: fe00 f810 vfmal.f16 d15, s0, s0\[0\]
|
||||
.*: fca7 0890 vfmsl.f16 d0, s15, s0
|
||||
.*: fe10 f818 vfmsl.f16 d15, s0, s0\[1\]
|
||||
.*: fc27 0894 vfmal.f16 d0, s15, s8
|
||||
.*: fe00 f814 vfmal.f16 d15, s0, s8\[0\]
|
||||
.*: fca7 0894 vfmsl.f16 d0, s15, s8
|
||||
.*: fe10 f81c vfmsl.f16 d15, s0, s8\[1\]
|
||||
.*: fc27 08b7 vfmal.f16 d0, s15, s15
|
||||
.*: fe00 f837 vfmal.f16 d15, s0, s15\[0\]
|
||||
.*: fca7 08b7 vfmsl.f16 d0, s15, s15
|
||||
.*: fe10 f83f vfmsl.f16 d15, s0, s15\[1\]
|
||||
.*: fc2f 0810 vfmal.f16 d0, s30, s0
|
||||
.*: fe40 e810 vfmal.f16 d30, s0, s0\[0\]
|
||||
.*: fcaf 0810 vfmsl.f16 d0, s30, s0
|
||||
.*: fe50 e818 vfmsl.f16 d30, s0, s0\[1\]
|
||||
.*: fc2f 0814 vfmal.f16 d0, s30, s8
|
||||
.*: fe40 e814 vfmal.f16 d30, s0, s8\[0\]
|
||||
.*: fcaf 0814 vfmsl.f16 d0, s30, s8
|
||||
.*: fe50 e81c vfmsl.f16 d30, s0, s8\[1\]
|
||||
.*: fc2f 0837 vfmal.f16 d0, s30, s15
|
||||
.*: fe40 e837 vfmal.f16 d30, s0, s15\[0\]
|
||||
.*: fcaf 0837 vfmsl.f16 d0, s30, s15
|
||||
.*: fe50 e83f vfmsl.f16 d30, s0, s15\[1\]
|
||||
.*: fc21 7810 vfmal.f16 d7, s2, s0
|
||||
.*: fe03 2890 vfmal.f16 d2, s7, s0\[0\]
|
||||
.*: fca1 7810 vfmsl.f16 d7, s2, s0
|
||||
.*: fe13 2898 vfmsl.f16 d2, s7, s0\[1\]
|
||||
.*: fc21 7814 vfmal.f16 d7, s2, s8
|
||||
.*: fe03 2894 vfmal.f16 d2, s7, s8\[0\]
|
||||
.*: fca1 7814 vfmsl.f16 d7, s2, s8
|
||||
.*: fe13 289c vfmsl.f16 d2, s7, s8\[1\]
|
||||
.*: fc21 7837 vfmal.f16 d7, s2, s15
|
||||
.*: fe03 28b7 vfmal.f16 d2, s7, s15\[0\]
|
||||
.*: fca1 7837 vfmsl.f16 d7, s2, s15
|
||||
.*: fe13 28bf vfmsl.f16 d2, s7, s15\[1\]
|
||||
.*: fc27 7890 vfmal.f16 d7, s15, s0
|
||||
.*: fe03 f890 vfmal.f16 d15, s7, s0\[0\]
|
||||
.*: fca7 7890 vfmsl.f16 d7, s15, s0
|
||||
.*: fe13 f898 vfmsl.f16 d15, s7, s0\[1\]
|
||||
.*: fc27 7894 vfmal.f16 d7, s15, s8
|
||||
.*: fe03 f894 vfmal.f16 d15, s7, s8\[0\]
|
||||
.*: fca7 7894 vfmsl.f16 d7, s15, s8
|
||||
.*: fe13 f89c vfmsl.f16 d15, s7, s8\[1\]
|
||||
.*: fc27 78b7 vfmal.f16 d7, s15, s15
|
||||
.*: fe03 f8b7 vfmal.f16 d15, s7, s15\[0\]
|
||||
.*: fca7 78b7 vfmsl.f16 d7, s15, s15
|
||||
.*: fe13 f8bf vfmsl.f16 d15, s7, s15\[1\]
|
||||
.*: fc2f 7810 vfmal.f16 d7, s30, s0
|
||||
.*: fe43 e890 vfmal.f16 d30, s7, s0\[0\]
|
||||
.*: fcaf 7810 vfmsl.f16 d7, s30, s0
|
||||
.*: fe53 e898 vfmsl.f16 d30, s7, s0\[1\]
|
||||
.*: fc2f 7814 vfmal.f16 d7, s30, s8
|
||||
.*: fe43 e894 vfmal.f16 d30, s7, s8\[0\]
|
||||
.*: fcaf 7814 vfmsl.f16 d7, s30, s8
|
||||
.*: fe53 e89c vfmsl.f16 d30, s7, s8\[1\]
|
||||
.*: fc2f 7837 vfmal.f16 d7, s30, s15
|
||||
.*: fe43 e8b7 vfmal.f16 d30, s7, s15\[0\]
|
||||
.*: fcaf 7837 vfmsl.f16 d7, s30, s15
|
||||
.*: fe53 e8bf vfmsl.f16 d30, s7, s15\[1\]
|
||||
.*: fc61 0810 vfmal.f16 d16, s2, s0
|
||||
.*: fe08 2810 vfmal.f16 d2, s16, s0\[0\]
|
||||
.*: fce1 0810 vfmsl.f16 d16, s2, s0
|
||||
.*: fe18 2818 vfmsl.f16 d2, s16, s0\[1\]
|
||||
.*: fc61 0814 vfmal.f16 d16, s2, s8
|
||||
.*: fe08 2814 vfmal.f16 d2, s16, s8\[0\]
|
||||
.*: fce1 0814 vfmsl.f16 d16, s2, s8
|
||||
.*: fe18 281c vfmsl.f16 d2, s16, s8\[1\]
|
||||
.*: fc61 0837 vfmal.f16 d16, s2, s15
|
||||
.*: fe08 2837 vfmal.f16 d2, s16, s15\[0\]
|
||||
.*: fce1 0837 vfmsl.f16 d16, s2, s15
|
||||
.*: fe18 283f vfmsl.f16 d2, s16, s15\[1\]
|
||||
.*: fc67 0890 vfmal.f16 d16, s15, s0
|
||||
.*: fe08 f810 vfmal.f16 d15, s16, s0\[0\]
|
||||
.*: fce7 0890 vfmsl.f16 d16, s15, s0
|
||||
.*: fe18 f818 vfmsl.f16 d15, s16, s0\[1\]
|
||||
.*: fc67 0894 vfmal.f16 d16, s15, s8
|
||||
.*: fe08 f814 vfmal.f16 d15, s16, s8\[0\]
|
||||
.*: fce7 0894 vfmsl.f16 d16, s15, s8
|
||||
.*: fe18 f81c vfmsl.f16 d15, s16, s8\[1\]
|
||||
.*: fc67 08b7 vfmal.f16 d16, s15, s15
|
||||
.*: fe08 f837 vfmal.f16 d15, s16, s15\[0\]
|
||||
.*: fce7 08b7 vfmsl.f16 d16, s15, s15
|
||||
.*: fe18 f83f vfmsl.f16 d15, s16, s15\[1\]
|
||||
.*: fc6f 0810 vfmal.f16 d16, s30, s0
|
||||
.*: fe48 e810 vfmal.f16 d30, s16, s0\[0\]
|
||||
.*: fcef 0810 vfmsl.f16 d16, s30, s0
|
||||
.*: fe58 e818 vfmsl.f16 d30, s16, s0\[1\]
|
||||
.*: fc6f 0814 vfmal.f16 d16, s30, s8
|
||||
.*: fe48 e814 vfmal.f16 d30, s16, s8\[0\]
|
||||
.*: fcef 0814 vfmsl.f16 d16, s30, s8
|
||||
.*: fe58 e81c vfmsl.f16 d30, s16, s8\[1\]
|
||||
.*: fc6f 0837 vfmal.f16 d16, s30, s15
|
||||
.*: fe48 e837 vfmal.f16 d30, s16, s15\[0\]
|
||||
.*: fcef 0837 vfmsl.f16 d16, s30, s15
|
||||
.*: fe58 e83f vfmsl.f16 d30, s16, s15\[1\]
|
||||
.*: fc61 f810 vfmal.f16 d31, s2, s0
|
||||
.*: fe0f 2890 vfmal.f16 d2, s31, s0\[0\]
|
||||
.*: fce1 f810 vfmsl.f16 d31, s2, s0
|
||||
.*: fe1f 2898 vfmsl.f16 d2, s31, s0\[1\]
|
||||
.*: fc61 f814 vfmal.f16 d31, s2, s8
|
||||
.*: fe0f 2894 vfmal.f16 d2, s31, s8\[0\]
|
||||
.*: fce1 f814 vfmsl.f16 d31, s2, s8
|
||||
.*: fe1f 289c vfmsl.f16 d2, s31, s8\[1\]
|
||||
.*: fc61 f837 vfmal.f16 d31, s2, s15
|
||||
.*: fe0f 28b7 vfmal.f16 d2, s31, s15\[0\]
|
||||
.*: fce1 f837 vfmsl.f16 d31, s2, s15
|
||||
.*: fe1f 28bf vfmsl.f16 d2, s31, s15\[1\]
|
||||
.*: fc67 f890 vfmal.f16 d31, s15, s0
|
||||
.*: fe0f f890 vfmal.f16 d15, s31, s0\[0\]
|
||||
.*: fce7 f890 vfmsl.f16 d31, s15, s0
|
||||
.*: fe1f f898 vfmsl.f16 d15, s31, s0\[1\]
|
||||
.*: fc67 f894 vfmal.f16 d31, s15, s8
|
||||
.*: fe0f f894 vfmal.f16 d15, s31, s8\[0\]
|
||||
.*: fce7 f894 vfmsl.f16 d31, s15, s8
|
||||
.*: fe1f f89c vfmsl.f16 d15, s31, s8\[1\]
|
||||
.*: fc67 f8b7 vfmal.f16 d31, s15, s15
|
||||
.*: fe0f f8b7 vfmal.f16 d15, s31, s15\[0\]
|
||||
.*: fce7 f8b7 vfmsl.f16 d31, s15, s15
|
||||
.*: fe1f f8bf vfmsl.f16 d15, s31, s15\[1\]
|
||||
.*: fc6f f810 vfmal.f16 d31, s30, s0
|
||||
.*: fe4f e890 vfmal.f16 d30, s31, s0\[0\]
|
||||
.*: fcef f810 vfmsl.f16 d31, s30, s0
|
||||
.*: fe5f e898 vfmsl.f16 d30, s31, s0\[1\]
|
||||
.*: fc6f f814 vfmal.f16 d31, s30, s8
|
||||
.*: fe4f e894 vfmal.f16 d30, s31, s8\[0\]
|
||||
.*: fcef f814 vfmsl.f16 d31, s30, s8
|
||||
.*: fe5f e89c vfmsl.f16 d30, s31, s8\[1\]
|
||||
.*: fc6f f837 vfmal.f16 d31, s30, s15
|
||||
.*: fe4f e8b7 vfmal.f16 d30, s31, s15\[0\]
|
||||
.*: fcef f837 vfmsl.f16 d31, s30, s15
|
||||
.*: fe5f e8bf vfmsl.f16 d30, s31, s15\[1\]
|
||||
.*: fc20 4850 vfmal.f16 q2, d0, d0
|
||||
.*: fe02 0850 vfmal.f16 q0, d2, d0\[0\]
|
||||
.*: fca0 4850 vfmsl.f16 q2, d0, d0
|
||||
.*: fe12 0878 vfmsl.f16 q0, d2, d0\[3\]
|
||||
.*: fc20 4857 vfmal.f16 q2, d0, d7
|
||||
.*: fe02 0857 vfmal.f16 q0, d2, d7\[0\]
|
||||
.*: fca0 4857 vfmsl.f16 q2, d0, d7
|
||||
.*: fe12 087f vfmsl.f16 q0, d2, d7\[3\]
|
||||
.*: fc20 6850 vfmal.f16 q3, d0, d0
|
||||
.*: fe03 0850 vfmal.f16 q0, d3, d0\[0\]
|
||||
.*: fca0 6850 vfmsl.f16 q3, d0, d0
|
||||
.*: fe13 0878 vfmsl.f16 q0, d3, d0\[3\]
|
||||
.*: fc20 6857 vfmal.f16 q3, d0, d7
|
||||
.*: fe03 0857 vfmal.f16 q0, d3, d7\[0\]
|
||||
.*: fca0 6857 vfmsl.f16 q3, d0, d7
|
||||
.*: fe13 087f vfmsl.f16 q0, d3, d7\[3\]
|
||||
.*: fc60 a850 vfmal.f16 q13, d0, d0
|
||||
.*: fe0d 0850 vfmal.f16 q0, d13, d0\[0\]
|
||||
.*: fce0 a850 vfmsl.f16 q13, d0, d0
|
||||
.*: fe1d 0878 vfmsl.f16 q0, d13, d0\[3\]
|
||||
.*: fc60 a857 vfmal.f16 q13, d0, d7
|
||||
.*: fe0d 0857 vfmal.f16 q0, d13, d7\[0\]
|
||||
.*: fce0 a857 vfmsl.f16 q13, d0, d7
|
||||
.*: fe1d 087f vfmsl.f16 q0, d13, d7\[3\]
|
||||
.*: fc21 4850 vfmal.f16 q2, d1, d0
|
||||
.*: fe02 2850 vfmal.f16 q1, d2, d0\[0\]
|
||||
.*: fca1 4850 vfmsl.f16 q2, d1, d0
|
||||
.*: fe12 2878 vfmsl.f16 q1, d2, d0\[3\]
|
||||
.*: fc21 4857 vfmal.f16 q2, d1, d7
|
||||
.*: fe02 2857 vfmal.f16 q1, d2, d7\[0\]
|
||||
.*: fca1 4857 vfmsl.f16 q2, d1, d7
|
||||
.*: fe12 287f vfmsl.f16 q1, d2, d7\[3\]
|
||||
.*: fc21 6850 vfmal.f16 q3, d1, d0
|
||||
.*: fe03 2850 vfmal.f16 q1, d3, d0\[0\]
|
||||
.*: fca1 6850 vfmsl.f16 q3, d1, d0
|
||||
.*: fe13 2878 vfmsl.f16 q1, d3, d0\[3\]
|
||||
.*: fc21 6857 vfmal.f16 q3, d1, d7
|
||||
.*: fe03 2857 vfmal.f16 q1, d3, d7\[0\]
|
||||
.*: fca1 6857 vfmsl.f16 q3, d1, d7
|
||||
.*: fe13 287f vfmsl.f16 q1, d3, d7\[3\]
|
||||
.*: fc61 a850 vfmal.f16 q13, d1, d0
|
||||
.*: fe0d 2850 vfmal.f16 q1, d13, d0\[0\]
|
||||
.*: fce1 a850 vfmsl.f16 q13, d1, d0
|
||||
.*: fe1d 2878 vfmsl.f16 q1, d13, d0\[3\]
|
||||
.*: fc61 a857 vfmal.f16 q13, d1, d7
|
||||
.*: fe0d 2857 vfmal.f16 q1, d13, d7\[0\]
|
||||
.*: fce1 a857 vfmsl.f16 q13, d1, d7
|
||||
.*: fe1d 287f vfmsl.f16 q1, d13, d7\[3\]
|
||||
.*: fc26 4850 vfmal.f16 q2, d6, d0
|
||||
.*: fe02 c850 vfmal.f16 q6, d2, d0\[0\]
|
||||
.*: fca6 4850 vfmsl.f16 q2, d6, d0
|
||||
.*: fe12 c878 vfmsl.f16 q6, d2, d0\[3\]
|
||||
.*: fc26 4857 vfmal.f16 q2, d6, d7
|
||||
.*: fe02 c857 vfmal.f16 q6, d2, d7\[0\]
|
||||
.*: fca6 4857 vfmsl.f16 q2, d6, d7
|
||||
.*: fe12 c87f vfmsl.f16 q6, d2, d7\[3\]
|
||||
.*: fc26 6850 vfmal.f16 q3, d6, d0
|
||||
.*: fe03 c850 vfmal.f16 q6, d3, d0\[0\]
|
||||
.*: fca6 6850 vfmsl.f16 q3, d6, d0
|
||||
.*: fe13 c878 vfmsl.f16 q6, d3, d0\[3\]
|
||||
.*: fc26 6857 vfmal.f16 q3, d6, d7
|
||||
.*: fe03 c857 vfmal.f16 q6, d3, d7\[0\]
|
||||
.*: fca6 6857 vfmsl.f16 q3, d6, d7
|
||||
.*: fe13 c87f vfmsl.f16 q6, d3, d7\[3\]
|
||||
.*: fc66 a850 vfmal.f16 q13, d6, d0
|
||||
.*: fe0d c850 vfmal.f16 q6, d13, d0\[0\]
|
||||
.*: fce6 a850 vfmsl.f16 q13, d6, d0
|
||||
.*: fe1d c878 vfmsl.f16 q6, d13, d0\[3\]
|
||||
.*: fc66 a857 vfmal.f16 q13, d6, d7
|
||||
.*: fe0d c857 vfmal.f16 q6, d13, d7\[0\]
|
||||
.*: fce6 a857 vfmsl.f16 q13, d6, d7
|
||||
.*: fe1d c87f vfmsl.f16 q6, d13, d7\[3\]
|
||||
.*: fc2f 4850 vfmal.f16 q2, d15, d0
|
||||
.*: fe42 e850 vfmal.f16 q15, d2, d0\[0\]
|
||||
.*: fcaf 4850 vfmsl.f16 q2, d15, d0
|
||||
.*: fe52 e878 vfmsl.f16 q15, d2, d0\[3\]
|
||||
.*: fc2f 4857 vfmal.f16 q2, d15, d7
|
||||
.*: fe42 e857 vfmal.f16 q15, d2, d7\[0\]
|
||||
.*: fcaf 4857 vfmsl.f16 q2, d15, d7
|
||||
.*: fe52 e87f vfmsl.f16 q15, d2, d7\[3\]
|
||||
.*: fc2f 6850 vfmal.f16 q3, d15, d0
|
||||
.*: fe43 e850 vfmal.f16 q15, d3, d0\[0\]
|
||||
.*: fcaf 6850 vfmsl.f16 q3, d15, d0
|
||||
.*: fe53 e878 vfmsl.f16 q15, d3, d0\[3\]
|
||||
.*: fc2f 6857 vfmal.f16 q3, d15, d7
|
||||
.*: fe43 e857 vfmal.f16 q15, d3, d7\[0\]
|
||||
.*: fcaf 6857 vfmsl.f16 q3, d15, d7
|
||||
.*: fe53 e87f vfmsl.f16 q15, d3, d7\[3\]
|
||||
.*: fc6f a850 vfmal.f16 q13, d15, d0
|
||||
.*: fe4d e850 vfmal.f16 q15, d13, d0\[0\]
|
||||
.*: fcef a850 vfmsl.f16 q13, d15, d0
|
||||
.*: fe5d e878 vfmsl.f16 q15, d13, d0\[3\]
|
||||
.*: fc6f a857 vfmal.f16 q13, d15, d7
|
||||
.*: fe4d e857 vfmal.f16 q15, d13, d7\[0\]
|
||||
.*: fcef a857 vfmsl.f16 q13, d15, d7
|
||||
.*: fe5d e87f vfmsl.f16 q15, d13, d7\[3\]
|
|
@ -0,0 +1,249 @@
|
|||
#as: -march=armv8.2-a+fp16 -mfpu=neon-fp-armv8
|
||||
#source: armv8_2-a-fp16.s
|
||||
#objdump: -d
|
||||
|
||||
.*: +file format .*arm.*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
.* <.*>:
|
||||
.*: fc210810 vfmal.f16 d0, s2, s0
|
||||
.*: fe002810 vfmal.f16 d2, s0, s0\[0\]
|
||||
.*: fca10810 vfmsl.f16 d0, s2, s0
|
||||
.*: fe102818 vfmsl.f16 d2, s0, s0\[1\]
|
||||
.*: fc210814 vfmal.f16 d0, s2, s8
|
||||
.*: fe002814 vfmal.f16 d2, s0, s8\[0\]
|
||||
.*: fca10814 vfmsl.f16 d0, s2, s8
|
||||
.*: fe10281c vfmsl.f16 d2, s0, s8\[1\]
|
||||
.*: fc210837 vfmal.f16 d0, s2, s15
|
||||
.*: fe002837 vfmal.f16 d2, s0, s15\[0\]
|
||||
.*: fca10837 vfmsl.f16 d0, s2, s15
|
||||
.*: fe10283f vfmsl.f16 d2, s0, s15\[1\]
|
||||
.*: fc270890 vfmal.f16 d0, s15, s0
|
||||
.*: fe00f810 vfmal.f16 d15, s0, s0\[0\]
|
||||
.*: fca70890 vfmsl.f16 d0, s15, s0
|
||||
.*: fe10f818 vfmsl.f16 d15, s0, s0\[1\]
|
||||
.*: fc270894 vfmal.f16 d0, s15, s8
|
||||
.*: fe00f814 vfmal.f16 d15, s0, s8\[0\]
|
||||
.*: fca70894 vfmsl.f16 d0, s15, s8
|
||||
.*: fe10f81c vfmsl.f16 d15, s0, s8\[1\]
|
||||
.*: fc2708b7 vfmal.f16 d0, s15, s15
|
||||
.*: fe00f837 vfmal.f16 d15, s0, s15\[0\]
|
||||
.*: fca708b7 vfmsl.f16 d0, s15, s15
|
||||
.*: fe10f83f vfmsl.f16 d15, s0, s15\[1\]
|
||||
.*: fc2f0810 vfmal.f16 d0, s30, s0
|
||||
.*: fe40e810 vfmal.f16 d30, s0, s0\[0\]
|
||||
.*: fcaf0810 vfmsl.f16 d0, s30, s0
|
||||
.*: fe50e818 vfmsl.f16 d30, s0, s0\[1\]
|
||||
.*: fc2f0814 vfmal.f16 d0, s30, s8
|
||||
.*: fe40e814 vfmal.f16 d30, s0, s8\[0\]
|
||||
.*: fcaf0814 vfmsl.f16 d0, s30, s8
|
||||
.*: fe50e81c vfmsl.f16 d30, s0, s8\[1\]
|
||||
.*: fc2f0837 vfmal.f16 d0, s30, s15
|
||||
.*: fe40e837 vfmal.f16 d30, s0, s15\[0\]
|
||||
.*: fcaf0837 vfmsl.f16 d0, s30, s15
|
||||
.*: fe50e83f vfmsl.f16 d30, s0, s15\[1\]
|
||||
.*: fc217810 vfmal.f16 d7, s2, s0
|
||||
.*: fe032890 vfmal.f16 d2, s7, s0\[0\]
|
||||
.*: fca17810 vfmsl.f16 d7, s2, s0
|
||||
.*: fe132898 vfmsl.f16 d2, s7, s0\[1\]
|
||||
.*: fc217814 vfmal.f16 d7, s2, s8
|
||||
.*: fe032894 vfmal.f16 d2, s7, s8\[0\]
|
||||
.*: fca17814 vfmsl.f16 d7, s2, s8
|
||||
.*: fe13289c vfmsl.f16 d2, s7, s8\[1\]
|
||||
.*: fc217837 vfmal.f16 d7, s2, s15
|
||||
.*: fe0328b7 vfmal.f16 d2, s7, s15\[0\]
|
||||
.*: fca17837 vfmsl.f16 d7, s2, s15
|
||||
.*: fe1328bf vfmsl.f16 d2, s7, s15\[1\]
|
||||
.*: fc277890 vfmal.f16 d7, s15, s0
|
||||
.*: fe03f890 vfmal.f16 d15, s7, s0\[0\]
|
||||
.*: fca77890 vfmsl.f16 d7, s15, s0
|
||||
.*: fe13f898 vfmsl.f16 d15, s7, s0\[1\]
|
||||
.*: fc277894 vfmal.f16 d7, s15, s8
|
||||
.*: fe03f894 vfmal.f16 d15, s7, s8\[0\]
|
||||
.*: fca77894 vfmsl.f16 d7, s15, s8
|
||||
.*: fe13f89c vfmsl.f16 d15, s7, s8\[1\]
|
||||
.*: fc2778b7 vfmal.f16 d7, s15, s15
|
||||
.*: fe03f8b7 vfmal.f16 d15, s7, s15\[0\]
|
||||
.*: fca778b7 vfmsl.f16 d7, s15, s15
|
||||
.*: fe13f8bf vfmsl.f16 d15, s7, s15\[1\]
|
||||
.*: fc2f7810 vfmal.f16 d7, s30, s0
|
||||
.*: fe43e890 vfmal.f16 d30, s7, s0\[0\]
|
||||
.*: fcaf7810 vfmsl.f16 d7, s30, s0
|
||||
.*: fe53e898 vfmsl.f16 d30, s7, s0\[1\]
|
||||
.*: fc2f7814 vfmal.f16 d7, s30, s8
|
||||
.*: fe43e894 vfmal.f16 d30, s7, s8\[0\]
|
||||
.*: fcaf7814 vfmsl.f16 d7, s30, s8
|
||||
.*: fe53e89c vfmsl.f16 d30, s7, s8\[1\]
|
||||
.*: fc2f7837 vfmal.f16 d7, s30, s15
|
||||
.*: fe43e8b7 vfmal.f16 d30, s7, s15\[0\]
|
||||
.*: fcaf7837 vfmsl.f16 d7, s30, s15
|
||||
.*: fe53e8bf vfmsl.f16 d30, s7, s15\[1\]
|
||||
.*: fc610810 vfmal.f16 d16, s2, s0
|
||||
.*: fe082810 vfmal.f16 d2, s16, s0\[0\]
|
||||
.*: fce10810 vfmsl.f16 d16, s2, s0
|
||||
.*: fe182818 vfmsl.f16 d2, s16, s0\[1\]
|
||||
.*: fc610814 vfmal.f16 d16, s2, s8
|
||||
.*: fe082814 vfmal.f16 d2, s16, s8\[0\]
|
||||
.*: fce10814 vfmsl.f16 d16, s2, s8
|
||||
.*: fe18281c vfmsl.f16 d2, s16, s8\[1\]
|
||||
.*: fc610837 vfmal.f16 d16, s2, s15
|
||||
.*: fe082837 vfmal.f16 d2, s16, s15\[0\]
|
||||
.*: fce10837 vfmsl.f16 d16, s2, s15
|
||||
.*: fe18283f vfmsl.f16 d2, s16, s15\[1\]
|
||||
.*: fc670890 vfmal.f16 d16, s15, s0
|
||||
.*: fe08f810 vfmal.f16 d15, s16, s0\[0\]
|
||||
.*: fce70890 vfmsl.f16 d16, s15, s0
|
||||
.*: fe18f818 vfmsl.f16 d15, s16, s0\[1\]
|
||||
.*: fc670894 vfmal.f16 d16, s15, s8
|
||||
.*: fe08f814 vfmal.f16 d15, s16, s8\[0\]
|
||||
.*: fce70894 vfmsl.f16 d16, s15, s8
|
||||
.*: fe18f81c vfmsl.f16 d15, s16, s8\[1\]
|
||||
.*: fc6708b7 vfmal.f16 d16, s15, s15
|
||||
.*: fe08f837 vfmal.f16 d15, s16, s15\[0\]
|
||||
.*: fce708b7 vfmsl.f16 d16, s15, s15
|
||||
.*: fe18f83f vfmsl.f16 d15, s16, s15\[1\]
|
||||
.*: fc6f0810 vfmal.f16 d16, s30, s0
|
||||
.*: fe48e810 vfmal.f16 d30, s16, s0\[0\]
|
||||
.*: fcef0810 vfmsl.f16 d16, s30, s0
|
||||
.*: fe58e818 vfmsl.f16 d30, s16, s0\[1\]
|
||||
.*: fc6f0814 vfmal.f16 d16, s30, s8
|
||||
.*: fe48e814 vfmal.f16 d30, s16, s8\[0\]
|
||||
.*: fcef0814 vfmsl.f16 d16, s30, s8
|
||||
.*: fe58e81c vfmsl.f16 d30, s16, s8\[1\]
|
||||
.*: fc6f0837 vfmal.f16 d16, s30, s15
|
||||
.*: fe48e837 vfmal.f16 d30, s16, s15\[0\]
|
||||
.*: fcef0837 vfmsl.f16 d16, s30, s15
|
||||
.*: fe58e83f vfmsl.f16 d30, s16, s15\[1\]
|
||||
.*: fc61f810 vfmal.f16 d31, s2, s0
|
||||
.*: fe0f2890 vfmal.f16 d2, s31, s0\[0\]
|
||||
.*: fce1f810 vfmsl.f16 d31, s2, s0
|
||||
.*: fe1f2898 vfmsl.f16 d2, s31, s0\[1\]
|
||||
.*: fc61f814 vfmal.f16 d31, s2, s8
|
||||
.*: fe0f2894 vfmal.f16 d2, s31, s8\[0\]
|
||||
.*: fce1f814 vfmsl.f16 d31, s2, s8
|
||||
.*: fe1f289c vfmsl.f16 d2, s31, s8\[1\]
|
||||
.*: fc61f837 vfmal.f16 d31, s2, s15
|
||||
.*: fe0f28b7 vfmal.f16 d2, s31, s15\[0\]
|
||||
.*: fce1f837 vfmsl.f16 d31, s2, s15
|
||||
.*: fe1f28bf vfmsl.f16 d2, s31, s15\[1\]
|
||||
.*: fc67f890 vfmal.f16 d31, s15, s0
|
||||
.*: fe0ff890 vfmal.f16 d15, s31, s0\[0\]
|
||||
.*: fce7f890 vfmsl.f16 d31, s15, s0
|
||||
.*: fe1ff898 vfmsl.f16 d15, s31, s0\[1\]
|
||||
.*: fc67f894 vfmal.f16 d31, s15, s8
|
||||
.*: fe0ff894 vfmal.f16 d15, s31, s8\[0\]
|
||||
.*: fce7f894 vfmsl.f16 d31, s15, s8
|
||||
.*: fe1ff89c vfmsl.f16 d15, s31, s8\[1\]
|
||||
.*: fc67f8b7 vfmal.f16 d31, s15, s15
|
||||
.*: fe0ff8b7 vfmal.f16 d15, s31, s15\[0\]
|
||||
.*: fce7f8b7 vfmsl.f16 d31, s15, s15
|
||||
.*: fe1ff8bf vfmsl.f16 d15, s31, s15\[1\]
|
||||
.*: fc6ff810 vfmal.f16 d31, s30, s0
|
||||
.*: fe4fe890 vfmal.f16 d30, s31, s0\[0\]
|
||||
.*: fceff810 vfmsl.f16 d31, s30, s0
|
||||
.*: fe5fe898 vfmsl.f16 d30, s31, s0\[1\]
|
||||
.*: fc6ff814 vfmal.f16 d31, s30, s8
|
||||
.*: fe4fe894 vfmal.f16 d30, s31, s8\[0\]
|
||||
.*: fceff814 vfmsl.f16 d31, s30, s8
|
||||
.*: fe5fe89c vfmsl.f16 d30, s31, s8\[1\]
|
||||
.*: fc6ff837 vfmal.f16 d31, s30, s15
|
||||
.*: fe4fe8b7 vfmal.f16 d30, s31, s15\[0\]
|
||||
.*: fceff837 vfmsl.f16 d31, s30, s15
|
||||
.*: fe5fe8bf vfmsl.f16 d30, s31, s15\[1\]
|
||||
.*: fc204850 vfmal.f16 q2, d0, d0
|
||||
.*: fe020850 vfmal.f16 q0, d2, d0\[0\]
|
||||
.*: fca04850 vfmsl.f16 q2, d0, d0
|
||||
.*: fe120878 vfmsl.f16 q0, d2, d0\[3\]
|
||||
.*: fc204857 vfmal.f16 q2, d0, d7
|
||||
.*: fe020857 vfmal.f16 q0, d2, d7\[0\]
|
||||
.*: fca04857 vfmsl.f16 q2, d0, d7
|
||||
.*: fe12087f vfmsl.f16 q0, d2, d7\[3\]
|
||||
.*: fc206850 vfmal.f16 q3, d0, d0
|
||||
.*: fe030850 vfmal.f16 q0, d3, d0\[0\]
|
||||
.*: fca06850 vfmsl.f16 q3, d0, d0
|
||||
.*: fe130878 vfmsl.f16 q0, d3, d0\[3\]
|
||||
.*: fc206857 vfmal.f16 q3, d0, d7
|
||||
.*: fe030857 vfmal.f16 q0, d3, d7\[0\]
|
||||
.*: fca06857 vfmsl.f16 q3, d0, d7
|
||||
.*: fe13087f vfmsl.f16 q0, d3, d7\[3\]
|
||||
.*: fc60a850 vfmal.f16 q13, d0, d0
|
||||
.*: fe0d0850 vfmal.f16 q0, d13, d0\[0\]
|
||||
.*: fce0a850 vfmsl.f16 q13, d0, d0
|
||||
.*: fe1d0878 vfmsl.f16 q0, d13, d0\[3\]
|
||||
.*: fc60a857 vfmal.f16 q13, d0, d7
|
||||
.*: fe0d0857 vfmal.f16 q0, d13, d7\[0\]
|
||||
.*: fce0a857 vfmsl.f16 q13, d0, d7
|
||||
.*: fe1d087f vfmsl.f16 q0, d13, d7\[3\]
|
||||
.*: fc214850 vfmal.f16 q2, d1, d0
|
||||
.*: fe022850 vfmal.f16 q1, d2, d0\[0\]
|
||||
.*: fca14850 vfmsl.f16 q2, d1, d0
|
||||
.*: fe122878 vfmsl.f16 q1, d2, d0\[3\]
|
||||
.*: fc214857 vfmal.f16 q2, d1, d7
|
||||
.*: fe022857 vfmal.f16 q1, d2, d7\[0\]
|
||||
.*: fca14857 vfmsl.f16 q2, d1, d7
|
||||
.*: fe12287f vfmsl.f16 q1, d2, d7\[3\]
|
||||
.*: fc216850 vfmal.f16 q3, d1, d0
|
||||
.*: fe032850 vfmal.f16 q1, d3, d0\[0\]
|
||||
.*: fca16850 vfmsl.f16 q3, d1, d0
|
||||
.*: fe132878 vfmsl.f16 q1, d3, d0\[3\]
|
||||
.*: fc216857 vfmal.f16 q3, d1, d7
|
||||
.*: fe032857 vfmal.f16 q1, d3, d7\[0\]
|
||||
.*: fca16857 vfmsl.f16 q3, d1, d7
|
||||
.*: fe13287f vfmsl.f16 q1, d3, d7\[3\]
|
||||
.*: fc61a850 vfmal.f16 q13, d1, d0
|
||||
.*: fe0d2850 vfmal.f16 q1, d13, d0\[0\]
|
||||
.*: fce1a850 vfmsl.f16 q13, d1, d0
|
||||
.*: fe1d2878 vfmsl.f16 q1, d13, d0\[3\]
|
||||
.*: fc61a857 vfmal.f16 q13, d1, d7
|
||||
.*: fe0d2857 vfmal.f16 q1, d13, d7\[0\]
|
||||
.*: fce1a857 vfmsl.f16 q13, d1, d7
|
||||
.*: fe1d287f vfmsl.f16 q1, d13, d7\[3\]
|
||||
.*: fc264850 vfmal.f16 q2, d6, d0
|
||||
.*: fe02c850 vfmal.f16 q6, d2, d0\[0\]
|
||||
.*: fca64850 vfmsl.f16 q2, d6, d0
|
||||
.*: fe12c878 vfmsl.f16 q6, d2, d0\[3\]
|
||||
.*: fc264857 vfmal.f16 q2, d6, d7
|
||||
.*: fe02c857 vfmal.f16 q6, d2, d7\[0\]
|
||||
.*: fca64857 vfmsl.f16 q2, d6, d7
|
||||
.*: fe12c87f vfmsl.f16 q6, d2, d7\[3\]
|
||||
.*: fc266850 vfmal.f16 q3, d6, d0
|
||||
.*: fe03c850 vfmal.f16 q6, d3, d0\[0\]
|
||||
.*: fca66850 vfmsl.f16 q3, d6, d0
|
||||
.*: fe13c878 vfmsl.f16 q6, d3, d0\[3\]
|
||||
.*: fc266857 vfmal.f16 q3, d6, d7
|
||||
.*: fe03c857 vfmal.f16 q6, d3, d7\[0\]
|
||||
.*: fca66857 vfmsl.f16 q3, d6, d7
|
||||
.*: fe13c87f vfmsl.f16 q6, d3, d7\[3\]
|
||||
.*: fc66a850 vfmal.f16 q13, d6, d0
|
||||
.*: fe0dc850 vfmal.f16 q6, d13, d0\[0\]
|
||||
.*: fce6a850 vfmsl.f16 q13, d6, d0
|
||||
.*: fe1dc878 vfmsl.f16 q6, d13, d0\[3\]
|
||||
.*: fc66a857 vfmal.f16 q13, d6, d7
|
||||
.*: fe0dc857 vfmal.f16 q6, d13, d7\[0\]
|
||||
.*: fce6a857 vfmsl.f16 q13, d6, d7
|
||||
.*: fe1dc87f vfmsl.f16 q6, d13, d7\[3\]
|
||||
.*: fc2f4850 vfmal.f16 q2, d15, d0
|
||||
.*: fe42e850 vfmal.f16 q15, d2, d0\[0\]
|
||||
.*: fcaf4850 vfmsl.f16 q2, d15, d0
|
||||
.*: fe52e878 vfmsl.f16 q15, d2, d0\[3\]
|
||||
.*: fc2f4857 vfmal.f16 q2, d15, d7
|
||||
.*: fe42e857 vfmal.f16 q15, d2, d7\[0\]
|
||||
.*: fcaf4857 vfmsl.f16 q2, d15, d7
|
||||
.*: fe52e87f vfmsl.f16 q15, d2, d7\[3\]
|
||||
.*: fc2f6850 vfmal.f16 q3, d15, d0
|
||||
.*: fe43e850 vfmal.f16 q15, d3, d0\[0\]
|
||||
.*: fcaf6850 vfmsl.f16 q3, d15, d0
|
||||
.*: fe53e878 vfmsl.f16 q15, d3, d0\[3\]
|
||||
.*: fc2f6857 vfmal.f16 q3, d15, d7
|
||||
.*: fe43e857 vfmal.f16 q15, d3, d7\[0\]
|
||||
.*: fcaf6857 vfmsl.f16 q3, d15, d7
|
||||
.*: fe53e87f vfmsl.f16 q15, d3, d7\[3\]
|
||||
.*: fc6fa850 vfmal.f16 q13, d15, d0
|
||||
.*: fe4de850 vfmal.f16 q15, d13, d0\[0\]
|
||||
.*: fcefa850 vfmsl.f16 q13, d15, d0
|
||||
.*: fe5de878 vfmsl.f16 q15, d13, d0\[3\]
|
||||
.*: fc6fa857 vfmal.f16 q13, d15, d7
|
||||
.*: fe4de857 vfmal.f16 q15, d13, d7\[0\]
|
||||
.*: fcefa857 vfmsl.f16 q13, d15, d7
|
||||
.*: fe5de87f vfmsl.f16 q15, d13, d7\[3\]
|
|
@ -0,0 +1,46 @@
|
|||
.macro fmac_iter_d_n op, d, n
|
||||
.irp m, 0, 8, 15
|
||||
vfmal.f16 d\d, s\n, s\m
|
||||
vfmal.f16 d\n, s\d, s\m[0]
|
||||
vfmsl.f16 d\d, s\n, s\m
|
||||
vfmsl.f16 d\n, s\d, s\m[1]
|
||||
.endr
|
||||
.endm
|
||||
|
||||
.macro fmac_iter_d op, d
|
||||
.irp n, 2, 15, 30
|
||||
fmac_iter_d_n \op, \d, \n
|
||||
.endr
|
||||
.endm
|
||||
|
||||
.macro iter
|
||||
.irp d, 0, 7, 16, 31
|
||||
fmac_iter_d \op, \d
|
||||
.endr
|
||||
.endm
|
||||
|
||||
.macro fmac_q_iter_d_n op, d, n
|
||||
.irp m, 0, 7
|
||||
vfmal.f16 q\n, d\d, d\m
|
||||
vfmal.f16 q\d, d\n, d\m[0]
|
||||
vfmsl.f16 q\n, d\d, d\m
|
||||
vfmsl.f16 q\d, d\n, d\m[3]
|
||||
.endr
|
||||
.endm
|
||||
|
||||
.macro fmac_q_iter_d op, d
|
||||
.irp n, 2, 3, 13
|
||||
fmac_q_iter_d_n \op, \d, \n
|
||||
.endr
|
||||
.endm
|
||||
|
||||
.macro q_iter
|
||||
.irp d, 0, 1, 6, 15
|
||||
fmac_q_iter_d \op, \d
|
||||
.endr
|
||||
.endm
|
||||
|
||||
.text
|
||||
func:
|
||||
iter
|
||||
q_iter
|
|
@ -0,0 +1,249 @@
|
|||
#as: -march=armv8.3-a+fp16 -mfpu=neon-fp-armv8
|
||||
#source: armv8_2-a-fp16.s
|
||||
#objdump: -d
|
||||
|
||||
.*: +file format .*arm.*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
.* <.*>:
|
||||
.*: fc210810 vfmal.f16 d0, s2, s0
|
||||
.*: fe002810 vfmal.f16 d2, s0, s0\[0\]
|
||||
.*: fca10810 vfmsl.f16 d0, s2, s0
|
||||
.*: fe102818 vfmsl.f16 d2, s0, s0\[1\]
|
||||
.*: fc210814 vfmal.f16 d0, s2, s8
|
||||
.*: fe002814 vfmal.f16 d2, s0, s8\[0\]
|
||||
.*: fca10814 vfmsl.f16 d0, s2, s8
|
||||
.*: fe10281c vfmsl.f16 d2, s0, s8\[1\]
|
||||
.*: fc210837 vfmal.f16 d0, s2, s15
|
||||
.*: fe002837 vfmal.f16 d2, s0, s15\[0\]
|
||||
.*: fca10837 vfmsl.f16 d0, s2, s15
|
||||
.*: fe10283f vfmsl.f16 d2, s0, s15\[1\]
|
||||
.*: fc270890 vfmal.f16 d0, s15, s0
|
||||
.*: fe00f810 vfmal.f16 d15, s0, s0\[0\]
|
||||
.*: fca70890 vfmsl.f16 d0, s15, s0
|
||||
.*: fe10f818 vfmsl.f16 d15, s0, s0\[1\]
|
||||
.*: fc270894 vfmal.f16 d0, s15, s8
|
||||
.*: fe00f814 vfmal.f16 d15, s0, s8\[0\]
|
||||
.*: fca70894 vfmsl.f16 d0, s15, s8
|
||||
.*: fe10f81c vfmsl.f16 d15, s0, s8\[1\]
|
||||
.*: fc2708b7 vfmal.f16 d0, s15, s15
|
||||
.*: fe00f837 vfmal.f16 d15, s0, s15\[0\]
|
||||
.*: fca708b7 vfmsl.f16 d0, s15, s15
|
||||
.*: fe10f83f vfmsl.f16 d15, s0, s15\[1\]
|
||||
.*: fc2f0810 vfmal.f16 d0, s30, s0
|
||||
.*: fe40e810 vfmal.f16 d30, s0, s0\[0\]
|
||||
.*: fcaf0810 vfmsl.f16 d0, s30, s0
|
||||
.*: fe50e818 vfmsl.f16 d30, s0, s0\[1\]
|
||||
.*: fc2f0814 vfmal.f16 d0, s30, s8
|
||||
.*: fe40e814 vfmal.f16 d30, s0, s8\[0\]
|
||||
.*: fcaf0814 vfmsl.f16 d0, s30, s8
|
||||
.*: fe50e81c vfmsl.f16 d30, s0, s8\[1\]
|
||||
.*: fc2f0837 vfmal.f16 d0, s30, s15
|
||||
.*: fe40e837 vfmal.f16 d30, s0, s15\[0\]
|
||||
.*: fcaf0837 vfmsl.f16 d0, s30, s15
|
||||
.*: fe50e83f vfmsl.f16 d30, s0, s15\[1\]
|
||||
.*: fc217810 vfmal.f16 d7, s2, s0
|
||||
.*: fe032890 vfmal.f16 d2, s7, s0\[0\]
|
||||
.*: fca17810 vfmsl.f16 d7, s2, s0
|
||||
.*: fe132898 vfmsl.f16 d2, s7, s0\[1\]
|
||||
.*: fc217814 vfmal.f16 d7, s2, s8
|
||||
.*: fe032894 vfmal.f16 d2, s7, s8\[0\]
|
||||
.*: fca17814 vfmsl.f16 d7, s2, s8
|
||||
.*: fe13289c vfmsl.f16 d2, s7, s8\[1\]
|
||||
.*: fc217837 vfmal.f16 d7, s2, s15
|
||||
.*: fe0328b7 vfmal.f16 d2, s7, s15\[0\]
|
||||
.*: fca17837 vfmsl.f16 d7, s2, s15
|
||||
.*: fe1328bf vfmsl.f16 d2, s7, s15\[1\]
|
||||
.*: fc277890 vfmal.f16 d7, s15, s0
|
||||
.*: fe03f890 vfmal.f16 d15, s7, s0\[0\]
|
||||
.*: fca77890 vfmsl.f16 d7, s15, s0
|
||||
.*: fe13f898 vfmsl.f16 d15, s7, s0\[1\]
|
||||
.*: fc277894 vfmal.f16 d7, s15, s8
|
||||
.*: fe03f894 vfmal.f16 d15, s7, s8\[0\]
|
||||
.*: fca77894 vfmsl.f16 d7, s15, s8
|
||||
.*: fe13f89c vfmsl.f16 d15, s7, s8\[1\]
|
||||
.*: fc2778b7 vfmal.f16 d7, s15, s15
|
||||
.*: fe03f8b7 vfmal.f16 d15, s7, s15\[0\]
|
||||
.*: fca778b7 vfmsl.f16 d7, s15, s15
|
||||
.*: fe13f8bf vfmsl.f16 d15, s7, s15\[1\]
|
||||
.*: fc2f7810 vfmal.f16 d7, s30, s0
|
||||
.*: fe43e890 vfmal.f16 d30, s7, s0\[0\]
|
||||
.*: fcaf7810 vfmsl.f16 d7, s30, s0
|
||||
.*: fe53e898 vfmsl.f16 d30, s7, s0\[1\]
|
||||
.*: fc2f7814 vfmal.f16 d7, s30, s8
|
||||
.*: fe43e894 vfmal.f16 d30, s7, s8\[0\]
|
||||
.*: fcaf7814 vfmsl.f16 d7, s30, s8
|
||||
.*: fe53e89c vfmsl.f16 d30, s7, s8\[1\]
|
||||
.*: fc2f7837 vfmal.f16 d7, s30, s15
|
||||
.*: fe43e8b7 vfmal.f16 d30, s7, s15\[0\]
|
||||
.*: fcaf7837 vfmsl.f16 d7, s30, s15
|
||||
.*: fe53e8bf vfmsl.f16 d30, s7, s15\[1\]
|
||||
.*: fc610810 vfmal.f16 d16, s2, s0
|
||||
.*: fe082810 vfmal.f16 d2, s16, s0\[0\]
|
||||
.*: fce10810 vfmsl.f16 d16, s2, s0
|
||||
.*: fe182818 vfmsl.f16 d2, s16, s0\[1\]
|
||||
.*: fc610814 vfmal.f16 d16, s2, s8
|
||||
.*: fe082814 vfmal.f16 d2, s16, s8\[0\]
|
||||
.*: fce10814 vfmsl.f16 d16, s2, s8
|
||||
.*: fe18281c vfmsl.f16 d2, s16, s8\[1\]
|
||||
.*: fc610837 vfmal.f16 d16, s2, s15
|
||||
.*: fe082837 vfmal.f16 d2, s16, s15\[0\]
|
||||
.*: fce10837 vfmsl.f16 d16, s2, s15
|
||||
.*: fe18283f vfmsl.f16 d2, s16, s15\[1\]
|
||||
.*: fc670890 vfmal.f16 d16, s15, s0
|
||||
.*: fe08f810 vfmal.f16 d15, s16, s0\[0\]
|
||||
.*: fce70890 vfmsl.f16 d16, s15, s0
|
||||
.*: fe18f818 vfmsl.f16 d15, s16, s0\[1\]
|
||||
.*: fc670894 vfmal.f16 d16, s15, s8
|
||||
.*: fe08f814 vfmal.f16 d15, s16, s8\[0\]
|
||||
.*: fce70894 vfmsl.f16 d16, s15, s8
|
||||
.*: fe18f81c vfmsl.f16 d15, s16, s8\[1\]
|
||||
.*: fc6708b7 vfmal.f16 d16, s15, s15
|
||||
.*: fe08f837 vfmal.f16 d15, s16, s15\[0\]
|
||||
.*: fce708b7 vfmsl.f16 d16, s15, s15
|
||||
.*: fe18f83f vfmsl.f16 d15, s16, s15\[1\]
|
||||
.*: fc6f0810 vfmal.f16 d16, s30, s0
|
||||
.*: fe48e810 vfmal.f16 d30, s16, s0\[0\]
|
||||
.*: fcef0810 vfmsl.f16 d16, s30, s0
|
||||
.*: fe58e818 vfmsl.f16 d30, s16, s0\[1\]
|
||||
.*: fc6f0814 vfmal.f16 d16, s30, s8
|
||||
.*: fe48e814 vfmal.f16 d30, s16, s8\[0\]
|
||||
.*: fcef0814 vfmsl.f16 d16, s30, s8
|
||||
.*: fe58e81c vfmsl.f16 d30, s16, s8\[1\]
|
||||
.*: fc6f0837 vfmal.f16 d16, s30, s15
|
||||
.*: fe48e837 vfmal.f16 d30, s16, s15\[0\]
|
||||
.*: fcef0837 vfmsl.f16 d16, s30, s15
|
||||
.*: fe58e83f vfmsl.f16 d30, s16, s15\[1\]
|
||||
.*: fc61f810 vfmal.f16 d31, s2, s0
|
||||
.*: fe0f2890 vfmal.f16 d2, s31, s0\[0\]
|
||||
.*: fce1f810 vfmsl.f16 d31, s2, s0
|
||||
.*: fe1f2898 vfmsl.f16 d2, s31, s0\[1\]
|
||||
.*: fc61f814 vfmal.f16 d31, s2, s8
|
||||
.*: fe0f2894 vfmal.f16 d2, s31, s8\[0\]
|
||||
.*: fce1f814 vfmsl.f16 d31, s2, s8
|
||||
.*: fe1f289c vfmsl.f16 d2, s31, s8\[1\]
|
||||
.*: fc61f837 vfmal.f16 d31, s2, s15
|
||||
.*: fe0f28b7 vfmal.f16 d2, s31, s15\[0\]
|
||||
.*: fce1f837 vfmsl.f16 d31, s2, s15
|
||||
.*: fe1f28bf vfmsl.f16 d2, s31, s15\[1\]
|
||||
.*: fc67f890 vfmal.f16 d31, s15, s0
|
||||
.*: fe0ff890 vfmal.f16 d15, s31, s0\[0\]
|
||||
.*: fce7f890 vfmsl.f16 d31, s15, s0
|
||||
.*: fe1ff898 vfmsl.f16 d15, s31, s0\[1\]
|
||||
.*: fc67f894 vfmal.f16 d31, s15, s8
|
||||
.*: fe0ff894 vfmal.f16 d15, s31, s8\[0\]
|
||||
.*: fce7f894 vfmsl.f16 d31, s15, s8
|
||||
.*: fe1ff89c vfmsl.f16 d15, s31, s8\[1\]
|
||||
.*: fc67f8b7 vfmal.f16 d31, s15, s15
|
||||
.*: fe0ff8b7 vfmal.f16 d15, s31, s15\[0\]
|
||||
.*: fce7f8b7 vfmsl.f16 d31, s15, s15
|
||||
.*: fe1ff8bf vfmsl.f16 d15, s31, s15\[1\]
|
||||
.*: fc6ff810 vfmal.f16 d31, s30, s0
|
||||
.*: fe4fe890 vfmal.f16 d30, s31, s0\[0\]
|
||||
.*: fceff810 vfmsl.f16 d31, s30, s0
|
||||
.*: fe5fe898 vfmsl.f16 d30, s31, s0\[1\]
|
||||
.*: fc6ff814 vfmal.f16 d31, s30, s8
|
||||
.*: fe4fe894 vfmal.f16 d30, s31, s8\[0\]
|
||||
.*: fceff814 vfmsl.f16 d31, s30, s8
|
||||
.*: fe5fe89c vfmsl.f16 d30, s31, s8\[1\]
|
||||
.*: fc6ff837 vfmal.f16 d31, s30, s15
|
||||
.*: fe4fe8b7 vfmal.f16 d30, s31, s15\[0\]
|
||||
.*: fceff837 vfmsl.f16 d31, s30, s15
|
||||
.*: fe5fe8bf vfmsl.f16 d30, s31, s15\[1\]
|
||||
.*: fc204850 vfmal.f16 q2, d0, d0
|
||||
.*: fe020850 vfmal.f16 q0, d2, d0\[0\]
|
||||
.*: fca04850 vfmsl.f16 q2, d0, d0
|
||||
.*: fe120878 vfmsl.f16 q0, d2, d0\[3\]
|
||||
.*: fc204857 vfmal.f16 q2, d0, d7
|
||||
.*: fe020857 vfmal.f16 q0, d2, d7\[0\]
|
||||
.*: fca04857 vfmsl.f16 q2, d0, d7
|
||||
.*: fe12087f vfmsl.f16 q0, d2, d7\[3\]
|
||||
.*: fc206850 vfmal.f16 q3, d0, d0
|
||||
.*: fe030850 vfmal.f16 q0, d3, d0\[0\]
|
||||
.*: fca06850 vfmsl.f16 q3, d0, d0
|
||||
.*: fe130878 vfmsl.f16 q0, d3, d0\[3\]
|
||||
.*: fc206857 vfmal.f16 q3, d0, d7
|
||||
.*: fe030857 vfmal.f16 q0, d3, d7\[0\]
|
||||
.*: fca06857 vfmsl.f16 q3, d0, d7
|
||||
.*: fe13087f vfmsl.f16 q0, d3, d7\[3\]
|
||||
.*: fc60a850 vfmal.f16 q13, d0, d0
|
||||
.*: fe0d0850 vfmal.f16 q0, d13, d0\[0\]
|
||||
.*: fce0a850 vfmsl.f16 q13, d0, d0
|
||||
.*: fe1d0878 vfmsl.f16 q0, d13, d0\[3\]
|
||||
.*: fc60a857 vfmal.f16 q13, d0, d7
|
||||
.*: fe0d0857 vfmal.f16 q0, d13, d7\[0\]
|
||||
.*: fce0a857 vfmsl.f16 q13, d0, d7
|
||||
.*: fe1d087f vfmsl.f16 q0, d13, d7\[3\]
|
||||
.*: fc214850 vfmal.f16 q2, d1, d0
|
||||
.*: fe022850 vfmal.f16 q1, d2, d0\[0\]
|
||||
.*: fca14850 vfmsl.f16 q2, d1, d0
|
||||
.*: fe122878 vfmsl.f16 q1, d2, d0\[3\]
|
||||
.*: fc214857 vfmal.f16 q2, d1, d7
|
||||
.*: fe022857 vfmal.f16 q1, d2, d7\[0\]
|
||||
.*: fca14857 vfmsl.f16 q2, d1, d7
|
||||
.*: fe12287f vfmsl.f16 q1, d2, d7\[3\]
|
||||
.*: fc216850 vfmal.f16 q3, d1, d0
|
||||
.*: fe032850 vfmal.f16 q1, d3, d0\[0\]
|
||||
.*: fca16850 vfmsl.f16 q3, d1, d0
|
||||
.*: fe132878 vfmsl.f16 q1, d3, d0\[3\]
|
||||
.*: fc216857 vfmal.f16 q3, d1, d7
|
||||
.*: fe032857 vfmal.f16 q1, d3, d7\[0\]
|
||||
.*: fca16857 vfmsl.f16 q3, d1, d7
|
||||
.*: fe13287f vfmsl.f16 q1, d3, d7\[3\]
|
||||
.*: fc61a850 vfmal.f16 q13, d1, d0
|
||||
.*: fe0d2850 vfmal.f16 q1, d13, d0\[0\]
|
||||
.*: fce1a850 vfmsl.f16 q13, d1, d0
|
||||
.*: fe1d2878 vfmsl.f16 q1, d13, d0\[3\]
|
||||
.*: fc61a857 vfmal.f16 q13, d1, d7
|
||||
.*: fe0d2857 vfmal.f16 q1, d13, d7\[0\]
|
||||
.*: fce1a857 vfmsl.f16 q13, d1, d7
|
||||
.*: fe1d287f vfmsl.f16 q1, d13, d7\[3\]
|
||||
.*: fc264850 vfmal.f16 q2, d6, d0
|
||||
.*: fe02c850 vfmal.f16 q6, d2, d0\[0\]
|
||||
.*: fca64850 vfmsl.f16 q2, d6, d0
|
||||
.*: fe12c878 vfmsl.f16 q6, d2, d0\[3\]
|
||||
.*: fc264857 vfmal.f16 q2, d6, d7
|
||||
.*: fe02c857 vfmal.f16 q6, d2, d7\[0\]
|
||||
.*: fca64857 vfmsl.f16 q2, d6, d7
|
||||
.*: fe12c87f vfmsl.f16 q6, d2, d7\[3\]
|
||||
.*: fc266850 vfmal.f16 q3, d6, d0
|
||||
.*: fe03c850 vfmal.f16 q6, d3, d0\[0\]
|
||||
.*: fca66850 vfmsl.f16 q3, d6, d0
|
||||
.*: fe13c878 vfmsl.f16 q6, d3, d0\[3\]
|
||||
.*: fc266857 vfmal.f16 q3, d6, d7
|
||||
.*: fe03c857 vfmal.f16 q6, d3, d7\[0\]
|
||||
.*: fca66857 vfmsl.f16 q3, d6, d7
|
||||
.*: fe13c87f vfmsl.f16 q6, d3, d7\[3\]
|
||||
.*: fc66a850 vfmal.f16 q13, d6, d0
|
||||
.*: fe0dc850 vfmal.f16 q6, d13, d0\[0\]
|
||||
.*: fce6a850 vfmsl.f16 q13, d6, d0
|
||||
.*: fe1dc878 vfmsl.f16 q6, d13, d0\[3\]
|
||||
.*: fc66a857 vfmal.f16 q13, d6, d7
|
||||
.*: fe0dc857 vfmal.f16 q6, d13, d7\[0\]
|
||||
.*: fce6a857 vfmsl.f16 q13, d6, d7
|
||||
.*: fe1dc87f vfmsl.f16 q6, d13, d7\[3\]
|
||||
.*: fc2f4850 vfmal.f16 q2, d15, d0
|
||||
.*: fe42e850 vfmal.f16 q15, d2, d0\[0\]
|
||||
.*: fcaf4850 vfmsl.f16 q2, d15, d0
|
||||
.*: fe52e878 vfmsl.f16 q15, d2, d0\[3\]
|
||||
.*: fc2f4857 vfmal.f16 q2, d15, d7
|
||||
.*: fe42e857 vfmal.f16 q15, d2, d7\[0\]
|
||||
.*: fcaf4857 vfmsl.f16 q2, d15, d7
|
||||
.*: fe52e87f vfmsl.f16 q15, d2, d7\[3\]
|
||||
.*: fc2f6850 vfmal.f16 q3, d15, d0
|
||||
.*: fe43e850 vfmal.f16 q15, d3, d0\[0\]
|
||||
.*: fcaf6850 vfmsl.f16 q3, d15, d0
|
||||
.*: fe53e878 vfmsl.f16 q15, d3, d0\[3\]
|
||||
.*: fc2f6857 vfmal.f16 q3, d15, d7
|
||||
.*: fe43e857 vfmal.f16 q15, d3, d7\[0\]
|
||||
.*: fcaf6857 vfmsl.f16 q3, d15, d7
|
||||
.*: fe53e87f vfmsl.f16 q15, d3, d7\[3\]
|
||||
.*: fc6fa850 vfmal.f16 q13, d15, d0
|
||||
.*: fe4de850 vfmal.f16 q15, d13, d0\[0\]
|
||||
.*: fcefa850 vfmsl.f16 q13, d15, d0
|
||||
.*: fe5de878 vfmsl.f16 q15, d13, d0\[3\]
|
||||
.*: fc6fa857 vfmal.f16 q13, d15, d7
|
||||
.*: fe4de857 vfmal.f16 q15, d13, d7\[0\]
|
||||
.*: fcefa857 vfmsl.f16 q13, d15, d7
|
||||
.*: fe5de87f vfmsl.f16 q15, d13, d7\[3\]
|
|
@ -0,0 +1,249 @@
|
|||
#as: -march=armv8.4-a+fp16 -mfpu=neon-fp-armv8
|
||||
#source: armv8_2-a-fp16.s
|
||||
#objdump: -d
|
||||
|
||||
.*: +file format .*arm.*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
.* <.*>:
|
||||
.*: fc210810 vfmal.f16 d0, s2, s0
|
||||
.*: fe002810 vfmal.f16 d2, s0, s0\[0\]
|
||||
.*: fca10810 vfmsl.f16 d0, s2, s0
|
||||
.*: fe102818 vfmsl.f16 d2, s0, s0\[1\]
|
||||
.*: fc210814 vfmal.f16 d0, s2, s8
|
||||
.*: fe002814 vfmal.f16 d2, s0, s8\[0\]
|
||||
.*: fca10814 vfmsl.f16 d0, s2, s8
|
||||
.*: fe10281c vfmsl.f16 d2, s0, s8\[1\]
|
||||
.*: fc210837 vfmal.f16 d0, s2, s15
|
||||
.*: fe002837 vfmal.f16 d2, s0, s15\[0\]
|
||||
.*: fca10837 vfmsl.f16 d0, s2, s15
|
||||
.*: fe10283f vfmsl.f16 d2, s0, s15\[1\]
|
||||
.*: fc270890 vfmal.f16 d0, s15, s0
|
||||
.*: fe00f810 vfmal.f16 d15, s0, s0\[0\]
|
||||
.*: fca70890 vfmsl.f16 d0, s15, s0
|
||||
.*: fe10f818 vfmsl.f16 d15, s0, s0\[1\]
|
||||
.*: fc270894 vfmal.f16 d0, s15, s8
|
||||
.*: fe00f814 vfmal.f16 d15, s0, s8\[0\]
|
||||
.*: fca70894 vfmsl.f16 d0, s15, s8
|
||||
.*: fe10f81c vfmsl.f16 d15, s0, s8\[1\]
|
||||
.*: fc2708b7 vfmal.f16 d0, s15, s15
|
||||
.*: fe00f837 vfmal.f16 d15, s0, s15\[0\]
|
||||
.*: fca708b7 vfmsl.f16 d0, s15, s15
|
||||
.*: fe10f83f vfmsl.f16 d15, s0, s15\[1\]
|
||||
.*: fc2f0810 vfmal.f16 d0, s30, s0
|
||||
.*: fe40e810 vfmal.f16 d30, s0, s0\[0\]
|
||||
.*: fcaf0810 vfmsl.f16 d0, s30, s0
|
||||
.*: fe50e818 vfmsl.f16 d30, s0, s0\[1\]
|
||||
.*: fc2f0814 vfmal.f16 d0, s30, s8
|
||||
.*: fe40e814 vfmal.f16 d30, s0, s8\[0\]
|
||||
.*: fcaf0814 vfmsl.f16 d0, s30, s8
|
||||
.*: fe50e81c vfmsl.f16 d30, s0, s8\[1\]
|
||||
.*: fc2f0837 vfmal.f16 d0, s30, s15
|
||||
.*: fe40e837 vfmal.f16 d30, s0, s15\[0\]
|
||||
.*: fcaf0837 vfmsl.f16 d0, s30, s15
|
||||
.*: fe50e83f vfmsl.f16 d30, s0, s15\[1\]
|
||||
.*: fc217810 vfmal.f16 d7, s2, s0
|
||||
.*: fe032890 vfmal.f16 d2, s7, s0\[0\]
|
||||
.*: fca17810 vfmsl.f16 d7, s2, s0
|
||||
.*: fe132898 vfmsl.f16 d2, s7, s0\[1\]
|
||||
.*: fc217814 vfmal.f16 d7, s2, s8
|
||||
.*: fe032894 vfmal.f16 d2, s7, s8\[0\]
|
||||
.*: fca17814 vfmsl.f16 d7, s2, s8
|
||||
.*: fe13289c vfmsl.f16 d2, s7, s8\[1\]
|
||||
.*: fc217837 vfmal.f16 d7, s2, s15
|
||||
.*: fe0328b7 vfmal.f16 d2, s7, s15\[0\]
|
||||
.*: fca17837 vfmsl.f16 d7, s2, s15
|
||||
.*: fe1328bf vfmsl.f16 d2, s7, s15\[1\]
|
||||
.*: fc277890 vfmal.f16 d7, s15, s0
|
||||
.*: fe03f890 vfmal.f16 d15, s7, s0\[0\]
|
||||
.*: fca77890 vfmsl.f16 d7, s15, s0
|
||||
.*: fe13f898 vfmsl.f16 d15, s7, s0\[1\]
|
||||
.*: fc277894 vfmal.f16 d7, s15, s8
|
||||
.*: fe03f894 vfmal.f16 d15, s7, s8\[0\]
|
||||
.*: fca77894 vfmsl.f16 d7, s15, s8
|
||||
.*: fe13f89c vfmsl.f16 d15, s7, s8\[1\]
|
||||
.*: fc2778b7 vfmal.f16 d7, s15, s15
|
||||
.*: fe03f8b7 vfmal.f16 d15, s7, s15\[0\]
|
||||
.*: fca778b7 vfmsl.f16 d7, s15, s15
|
||||
.*: fe13f8bf vfmsl.f16 d15, s7, s15\[1\]
|
||||
.*: fc2f7810 vfmal.f16 d7, s30, s0
|
||||
.*: fe43e890 vfmal.f16 d30, s7, s0\[0\]
|
||||
.*: fcaf7810 vfmsl.f16 d7, s30, s0
|
||||
.*: fe53e898 vfmsl.f16 d30, s7, s0\[1\]
|
||||
.*: fc2f7814 vfmal.f16 d7, s30, s8
|
||||
.*: fe43e894 vfmal.f16 d30, s7, s8\[0\]
|
||||
.*: fcaf7814 vfmsl.f16 d7, s30, s8
|
||||
.*: fe53e89c vfmsl.f16 d30, s7, s8\[1\]
|
||||
.*: fc2f7837 vfmal.f16 d7, s30, s15
|
||||
.*: fe43e8b7 vfmal.f16 d30, s7, s15\[0\]
|
||||
.*: fcaf7837 vfmsl.f16 d7, s30, s15
|
||||
.*: fe53e8bf vfmsl.f16 d30, s7, s15\[1\]
|
||||
.*: fc610810 vfmal.f16 d16, s2, s0
|
||||
.*: fe082810 vfmal.f16 d2, s16, s0\[0\]
|
||||
.*: fce10810 vfmsl.f16 d16, s2, s0
|
||||
.*: fe182818 vfmsl.f16 d2, s16, s0\[1\]
|
||||
.*: fc610814 vfmal.f16 d16, s2, s8
|
||||
.*: fe082814 vfmal.f16 d2, s16, s8\[0\]
|
||||
.*: fce10814 vfmsl.f16 d16, s2, s8
|
||||
.*: fe18281c vfmsl.f16 d2, s16, s8\[1\]
|
||||
.*: fc610837 vfmal.f16 d16, s2, s15
|
||||
.*: fe082837 vfmal.f16 d2, s16, s15\[0\]
|
||||
.*: fce10837 vfmsl.f16 d16, s2, s15
|
||||
.*: fe18283f vfmsl.f16 d2, s16, s15\[1\]
|
||||
.*: fc670890 vfmal.f16 d16, s15, s0
|
||||
.*: fe08f810 vfmal.f16 d15, s16, s0\[0\]
|
||||
.*: fce70890 vfmsl.f16 d16, s15, s0
|
||||
.*: fe18f818 vfmsl.f16 d15, s16, s0\[1\]
|
||||
.*: fc670894 vfmal.f16 d16, s15, s8
|
||||
.*: fe08f814 vfmal.f16 d15, s16, s8\[0\]
|
||||
.*: fce70894 vfmsl.f16 d16, s15, s8
|
||||
.*: fe18f81c vfmsl.f16 d15, s16, s8\[1\]
|
||||
.*: fc6708b7 vfmal.f16 d16, s15, s15
|
||||
.*: fe08f837 vfmal.f16 d15, s16, s15\[0\]
|
||||
.*: fce708b7 vfmsl.f16 d16, s15, s15
|
||||
.*: fe18f83f vfmsl.f16 d15, s16, s15\[1\]
|
||||
.*: fc6f0810 vfmal.f16 d16, s30, s0
|
||||
.*: fe48e810 vfmal.f16 d30, s16, s0\[0\]
|
||||
.*: fcef0810 vfmsl.f16 d16, s30, s0
|
||||
.*: fe58e818 vfmsl.f16 d30, s16, s0\[1\]
|
||||
.*: fc6f0814 vfmal.f16 d16, s30, s8
|
||||
.*: fe48e814 vfmal.f16 d30, s16, s8\[0\]
|
||||
.*: fcef0814 vfmsl.f16 d16, s30, s8
|
||||
.*: fe58e81c vfmsl.f16 d30, s16, s8\[1\]
|
||||
.*: fc6f0837 vfmal.f16 d16, s30, s15
|
||||
.*: fe48e837 vfmal.f16 d30, s16, s15\[0\]
|
||||
.*: fcef0837 vfmsl.f16 d16, s30, s15
|
||||
.*: fe58e83f vfmsl.f16 d30, s16, s15\[1\]
|
||||
.*: fc61f810 vfmal.f16 d31, s2, s0
|
||||
.*: fe0f2890 vfmal.f16 d2, s31, s0\[0\]
|
||||
.*: fce1f810 vfmsl.f16 d31, s2, s0
|
||||
.*: fe1f2898 vfmsl.f16 d2, s31, s0\[1\]
|
||||
.*: fc61f814 vfmal.f16 d31, s2, s8
|
||||
.*: fe0f2894 vfmal.f16 d2, s31, s8\[0\]
|
||||
.*: fce1f814 vfmsl.f16 d31, s2, s8
|
||||
.*: fe1f289c vfmsl.f16 d2, s31, s8\[1\]
|
||||
.*: fc61f837 vfmal.f16 d31, s2, s15
|
||||
.*: fe0f28b7 vfmal.f16 d2, s31, s15\[0\]
|
||||
.*: fce1f837 vfmsl.f16 d31, s2, s15
|
||||
.*: fe1f28bf vfmsl.f16 d2, s31, s15\[1\]
|
||||
.*: fc67f890 vfmal.f16 d31, s15, s0
|
||||
.*: fe0ff890 vfmal.f16 d15, s31, s0\[0\]
|
||||
.*: fce7f890 vfmsl.f16 d31, s15, s0
|
||||
.*: fe1ff898 vfmsl.f16 d15, s31, s0\[1\]
|
||||
.*: fc67f894 vfmal.f16 d31, s15, s8
|
||||
.*: fe0ff894 vfmal.f16 d15, s31, s8\[0\]
|
||||
.*: fce7f894 vfmsl.f16 d31, s15, s8
|
||||
.*: fe1ff89c vfmsl.f16 d15, s31, s8\[1\]
|
||||
.*: fc67f8b7 vfmal.f16 d31, s15, s15
|
||||
.*: fe0ff8b7 vfmal.f16 d15, s31, s15\[0\]
|
||||
.*: fce7f8b7 vfmsl.f16 d31, s15, s15
|
||||
.*: fe1ff8bf vfmsl.f16 d15, s31, s15\[1\]
|
||||
.*: fc6ff810 vfmal.f16 d31, s30, s0
|
||||
.*: fe4fe890 vfmal.f16 d30, s31, s0\[0\]
|
||||
.*: fceff810 vfmsl.f16 d31, s30, s0
|
||||
.*: fe5fe898 vfmsl.f16 d30, s31, s0\[1\]
|
||||
.*: fc6ff814 vfmal.f16 d31, s30, s8
|
||||
.*: fe4fe894 vfmal.f16 d30, s31, s8\[0\]
|
||||
.*: fceff814 vfmsl.f16 d31, s30, s8
|
||||
.*: fe5fe89c vfmsl.f16 d30, s31, s8\[1\]
|
||||
.*: fc6ff837 vfmal.f16 d31, s30, s15
|
||||
.*: fe4fe8b7 vfmal.f16 d30, s31, s15\[0\]
|
||||
.*: fceff837 vfmsl.f16 d31, s30, s15
|
||||
.*: fe5fe8bf vfmsl.f16 d30, s31, s15\[1\]
|
||||
.*: fc204850 vfmal.f16 q2, d0, d0
|
||||
.*: fe020850 vfmal.f16 q0, d2, d0\[0\]
|
||||
.*: fca04850 vfmsl.f16 q2, d0, d0
|
||||
.*: fe120878 vfmsl.f16 q0, d2, d0\[3\]
|
||||
.*: fc204857 vfmal.f16 q2, d0, d7
|
||||
.*: fe020857 vfmal.f16 q0, d2, d7\[0\]
|
||||
.*: fca04857 vfmsl.f16 q2, d0, d7
|
||||
.*: fe12087f vfmsl.f16 q0, d2, d7\[3\]
|
||||
.*: fc206850 vfmal.f16 q3, d0, d0
|
||||
.*: fe030850 vfmal.f16 q0, d3, d0\[0\]
|
||||
.*: fca06850 vfmsl.f16 q3, d0, d0
|
||||
.*: fe130878 vfmsl.f16 q0, d3, d0\[3\]
|
||||
.*: fc206857 vfmal.f16 q3, d0, d7
|
||||
.*: fe030857 vfmal.f16 q0, d3, d7\[0\]
|
||||
.*: fca06857 vfmsl.f16 q3, d0, d7
|
||||
.*: fe13087f vfmsl.f16 q0, d3, d7\[3\]
|
||||
.*: fc60a850 vfmal.f16 q13, d0, d0
|
||||
.*: fe0d0850 vfmal.f16 q0, d13, d0\[0\]
|
||||
.*: fce0a850 vfmsl.f16 q13, d0, d0
|
||||
.*: fe1d0878 vfmsl.f16 q0, d13, d0\[3\]
|
||||
.*: fc60a857 vfmal.f16 q13, d0, d7
|
||||
.*: fe0d0857 vfmal.f16 q0, d13, d7\[0\]
|
||||
.*: fce0a857 vfmsl.f16 q13, d0, d7
|
||||
.*: fe1d087f vfmsl.f16 q0, d13, d7\[3\]
|
||||
.*: fc214850 vfmal.f16 q2, d1, d0
|
||||
.*: fe022850 vfmal.f16 q1, d2, d0\[0\]
|
||||
.*: fca14850 vfmsl.f16 q2, d1, d0
|
||||
.*: fe122878 vfmsl.f16 q1, d2, d0\[3\]
|
||||
.*: fc214857 vfmal.f16 q2, d1, d7
|
||||
.*: fe022857 vfmal.f16 q1, d2, d7\[0\]
|
||||
.*: fca14857 vfmsl.f16 q2, d1, d7
|
||||
.*: fe12287f vfmsl.f16 q1, d2, d7\[3\]
|
||||
.*: fc216850 vfmal.f16 q3, d1, d0
|
||||
.*: fe032850 vfmal.f16 q1, d3, d0\[0\]
|
||||
.*: fca16850 vfmsl.f16 q3, d1, d0
|
||||
.*: fe132878 vfmsl.f16 q1, d3, d0\[3\]
|
||||
.*: fc216857 vfmal.f16 q3, d1, d7
|
||||
.*: fe032857 vfmal.f16 q1, d3, d7\[0\]
|
||||
.*: fca16857 vfmsl.f16 q3, d1, d7
|
||||
.*: fe13287f vfmsl.f16 q1, d3, d7\[3\]
|
||||
.*: fc61a850 vfmal.f16 q13, d1, d0
|
||||
.*: fe0d2850 vfmal.f16 q1, d13, d0\[0\]
|
||||
.*: fce1a850 vfmsl.f16 q13, d1, d0
|
||||
.*: fe1d2878 vfmsl.f16 q1, d13, d0\[3\]
|
||||
.*: fc61a857 vfmal.f16 q13, d1, d7
|
||||
.*: fe0d2857 vfmal.f16 q1, d13, d7\[0\]
|
||||
.*: fce1a857 vfmsl.f16 q13, d1, d7
|
||||
.*: fe1d287f vfmsl.f16 q1, d13, d7\[3\]
|
||||
.*: fc264850 vfmal.f16 q2, d6, d0
|
||||
.*: fe02c850 vfmal.f16 q6, d2, d0\[0\]
|
||||
.*: fca64850 vfmsl.f16 q2, d6, d0
|
||||
.*: fe12c878 vfmsl.f16 q6, d2, d0\[3\]
|
||||
.*: fc264857 vfmal.f16 q2, d6, d7
|
||||
.*: fe02c857 vfmal.f16 q6, d2, d7\[0\]
|
||||
.*: fca64857 vfmsl.f16 q2, d6, d7
|
||||
.*: fe12c87f vfmsl.f16 q6, d2, d7\[3\]
|
||||
.*: fc266850 vfmal.f16 q3, d6, d0
|
||||
.*: fe03c850 vfmal.f16 q6, d3, d0\[0\]
|
||||
.*: fca66850 vfmsl.f16 q3, d6, d0
|
||||
.*: fe13c878 vfmsl.f16 q6, d3, d0\[3\]
|
||||
.*: fc266857 vfmal.f16 q3, d6, d7
|
||||
.*: fe03c857 vfmal.f16 q6, d3, d7\[0\]
|
||||
.*: fca66857 vfmsl.f16 q3, d6, d7
|
||||
.*: fe13c87f vfmsl.f16 q6, d3, d7\[3\]
|
||||
.*: fc66a850 vfmal.f16 q13, d6, d0
|
||||
.*: fe0dc850 vfmal.f16 q6, d13, d0\[0\]
|
||||
.*: fce6a850 vfmsl.f16 q13, d6, d0
|
||||
.*: fe1dc878 vfmsl.f16 q6, d13, d0\[3\]
|
||||
.*: fc66a857 vfmal.f16 q13, d6, d7
|
||||
.*: fe0dc857 vfmal.f16 q6, d13, d7\[0\]
|
||||
.*: fce6a857 vfmsl.f16 q13, d6, d7
|
||||
.*: fe1dc87f vfmsl.f16 q6, d13, d7\[3\]
|
||||
.*: fc2f4850 vfmal.f16 q2, d15, d0
|
||||
.*: fe42e850 vfmal.f16 q15, d2, d0\[0\]
|
||||
.*: fcaf4850 vfmsl.f16 q2, d15, d0
|
||||
.*: fe52e878 vfmsl.f16 q15, d2, d0\[3\]
|
||||
.*: fc2f4857 vfmal.f16 q2, d15, d7
|
||||
.*: fe42e857 vfmal.f16 q15, d2, d7\[0\]
|
||||
.*: fcaf4857 vfmsl.f16 q2, d15, d7
|
||||
.*: fe52e87f vfmsl.f16 q15, d2, d7\[3\]
|
||||
.*: fc2f6850 vfmal.f16 q3, d15, d0
|
||||
.*: fe43e850 vfmal.f16 q15, d3, d0\[0\]
|
||||
.*: fcaf6850 vfmsl.f16 q3, d15, d0
|
||||
.*: fe53e878 vfmsl.f16 q15, d3, d0\[3\]
|
||||
.*: fc2f6857 vfmal.f16 q3, d15, d7
|
||||
.*: fe43e857 vfmal.f16 q15, d3, d7\[0\]
|
||||
.*: fcaf6857 vfmsl.f16 q3, d15, d7
|
||||
.*: fe53e87f vfmsl.f16 q15, d3, d7\[3\]
|
||||
.*: fc6fa850 vfmal.f16 q13, d15, d0
|
||||
.*: fe4de850 vfmal.f16 q15, d13, d0\[0\]
|
||||
.*: fcefa850 vfmsl.f16 q13, d15, d0
|
||||
.*: fe5de878 vfmsl.f16 q15, d13, d0\[3\]
|
||||
.*: fc6fa857 vfmal.f16 q13, d15, d7
|
||||
.*: fe4de857 vfmal.f16 q15, d13, d7\[0\]
|
||||
.*: fcefa857 vfmsl.f16 q13, d15, d7
|
||||
.*: fe5de87f vfmsl.f16 q15, d13, d7\[3\]
|
|
@ -0,0 +1,297 @@
|
|||
#as: -march=armv8.4-a -mfpu=neon-fp-armv8
|
||||
#source: dotprod.s
|
||||
#objdump: -d
|
||||
|
||||
.*: +file format .*arm.*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
.* <.*>:
|
||||
.*: fc220d10 vudot.u8 d0, d2, d0
|
||||
.*: fe220d10 vudot.u8 d0, d2, d0\[0\]
|
||||
.*: fc220d18 vudot.u8 d0, d2, d8
|
||||
.*: fe220d18 vudot.u8 d0, d2, d8\[0\]
|
||||
.*: fc220d1f vudot.u8 d0, d2, d15
|
||||
.*: fe220d1f vudot.u8 d0, d2, d15\[0\]
|
||||
.*: fc2f0d10 vudot.u8 d0, d15, d0
|
||||
.*: fe2f0d10 vudot.u8 d0, d15, d0\[0\]
|
||||
.*: fc2f0d18 vudot.u8 d0, d15, d8
|
||||
.*: fe2f0d18 vudot.u8 d0, d15, d8\[0\]
|
||||
.*: fc2f0d1f vudot.u8 d0, d15, d15
|
||||
.*: fe2f0d1f vudot.u8 d0, d15, d15\[0\]
|
||||
.*: fc2e0d90 vudot.u8 d0, d30, d0
|
||||
.*: fe2e0d90 vudot.u8 d0, d30, d0\[0\]
|
||||
.*: fc2e0d98 vudot.u8 d0, d30, d8
|
||||
.*: fe2e0d98 vudot.u8 d0, d30, d8\[0\]
|
||||
.*: fc2e0d9f vudot.u8 d0, d30, d15
|
||||
.*: fe2e0d9f vudot.u8 d0, d30, d15\[0\]
|
||||
.*: fc227d10 vudot.u8 d7, d2, d0
|
||||
.*: fe227d10 vudot.u8 d7, d2, d0\[0\]
|
||||
.*: fc227d18 vudot.u8 d7, d2, d8
|
||||
.*: fe227d18 vudot.u8 d7, d2, d8\[0\]
|
||||
.*: fc227d1f vudot.u8 d7, d2, d15
|
||||
.*: fe227d1f vudot.u8 d7, d2, d15\[0\]
|
||||
.*: fc2f7d10 vudot.u8 d7, d15, d0
|
||||
.*: fe2f7d10 vudot.u8 d7, d15, d0\[0\]
|
||||
.*: fc2f7d18 vudot.u8 d7, d15, d8
|
||||
.*: fe2f7d18 vudot.u8 d7, d15, d8\[0\]
|
||||
.*: fc2f7d1f vudot.u8 d7, d15, d15
|
||||
.*: fe2f7d1f vudot.u8 d7, d15, d15\[0\]
|
||||
.*: fc2e7d90 vudot.u8 d7, d30, d0
|
||||
.*: fe2e7d90 vudot.u8 d7, d30, d0\[0\]
|
||||
.*: fc2e7d98 vudot.u8 d7, d30, d8
|
||||
.*: fe2e7d98 vudot.u8 d7, d30, d8\[0\]
|
||||
.*: fc2e7d9f vudot.u8 d7, d30, d15
|
||||
.*: fe2e7d9f vudot.u8 d7, d30, d15\[0\]
|
||||
.*: fc620d10 vudot.u8 d16, d2, d0
|
||||
.*: fe620d10 vudot.u8 d16, d2, d0\[0\]
|
||||
.*: fc620d18 vudot.u8 d16, d2, d8
|
||||
.*: fe620d18 vudot.u8 d16, d2, d8\[0\]
|
||||
.*: fc620d1f vudot.u8 d16, d2, d15
|
||||
.*: fe620d1f vudot.u8 d16, d2, d15\[0\]
|
||||
.*: fc6f0d10 vudot.u8 d16, d15, d0
|
||||
.*: fe6f0d10 vudot.u8 d16, d15, d0\[0\]
|
||||
.*: fc6f0d18 vudot.u8 d16, d15, d8
|
||||
.*: fe6f0d18 vudot.u8 d16, d15, d8\[0\]
|
||||
.*: fc6f0d1f vudot.u8 d16, d15, d15
|
||||
.*: fe6f0d1f vudot.u8 d16, d15, d15\[0\]
|
||||
.*: fc6e0d90 vudot.u8 d16, d30, d0
|
||||
.*: fe6e0d90 vudot.u8 d16, d30, d0\[0\]
|
||||
.*: fc6e0d98 vudot.u8 d16, d30, d8
|
||||
.*: fe6e0d98 vudot.u8 d16, d30, d8\[0\]
|
||||
.*: fc6e0d9f vudot.u8 d16, d30, d15
|
||||
.*: fe6e0d9f vudot.u8 d16, d30, d15\[0\]
|
||||
.*: fc62fd10 vudot.u8 d31, d2, d0
|
||||
.*: fe62fd10 vudot.u8 d31, d2, d0\[0\]
|
||||
.*: fc62fd18 vudot.u8 d31, d2, d8
|
||||
.*: fe62fd18 vudot.u8 d31, d2, d8\[0\]
|
||||
.*: fc62fd1f vudot.u8 d31, d2, d15
|
||||
.*: fe62fd1f vudot.u8 d31, d2, d15\[0\]
|
||||
.*: fc6ffd10 vudot.u8 d31, d15, d0
|
||||
.*: fe6ffd10 vudot.u8 d31, d15, d0\[0\]
|
||||
.*: fc6ffd18 vudot.u8 d31, d15, d8
|
||||
.*: fe6ffd18 vudot.u8 d31, d15, d8\[0\]
|
||||
.*: fc6ffd1f vudot.u8 d31, d15, d15
|
||||
.*: fe6ffd1f vudot.u8 d31, d15, d15\[0\]
|
||||
.*: fc6efd90 vudot.u8 d31, d30, d0
|
||||
.*: fe6efd90 vudot.u8 d31, d30, d0\[0\]
|
||||
.*: fc6efd98 vudot.u8 d31, d30, d8
|
||||
.*: fe6efd98 vudot.u8 d31, d30, d8\[0\]
|
||||
.*: fc6efd9f vudot.u8 d31, d30, d15
|
||||
.*: fe6efd9f vudot.u8 d31, d30, d15\[0\]
|
||||
.*: fc220d00 vsdot.s8 d0, d2, d0
|
||||
.*: fe220d00 vsdot.s8 d0, d2, d0\[0\]
|
||||
.*: fc220d08 vsdot.s8 d0, d2, d8
|
||||
.*: fe220d08 vsdot.s8 d0, d2, d8\[0\]
|
||||
.*: fc220d0f vsdot.s8 d0, d2, d15
|
||||
.*: fe220d0f vsdot.s8 d0, d2, d15\[0\]
|
||||
.*: fc2f0d00 vsdot.s8 d0, d15, d0
|
||||
.*: fe2f0d00 vsdot.s8 d0, d15, d0\[0\]
|
||||
.*: fc2f0d08 vsdot.s8 d0, d15, d8
|
||||
.*: fe2f0d08 vsdot.s8 d0, d15, d8\[0\]
|
||||
.*: fc2f0d0f vsdot.s8 d0, d15, d15
|
||||
.*: fe2f0d0f vsdot.s8 d0, d15, d15\[0\]
|
||||
.*: fc2e0d80 vsdot.s8 d0, d30, d0
|
||||
.*: fe2e0d80 vsdot.s8 d0, d30, d0\[0\]
|
||||
.*: fc2e0d88 vsdot.s8 d0, d30, d8
|
||||
.*: fe2e0d88 vsdot.s8 d0, d30, d8\[0\]
|
||||
.*: fc2e0d8f vsdot.s8 d0, d30, d15
|
||||
.*: fe2e0d8f vsdot.s8 d0, d30, d15\[0\]
|
||||
.*: fc227d00 vsdot.s8 d7, d2, d0
|
||||
.*: fe227d00 vsdot.s8 d7, d2, d0\[0\]
|
||||
.*: fc227d08 vsdot.s8 d7, d2, d8
|
||||
.*: fe227d08 vsdot.s8 d7, d2, d8\[0\]
|
||||
.*: fc227d0f vsdot.s8 d7, d2, d15
|
||||
.*: fe227d0f vsdot.s8 d7, d2, d15\[0\]
|
||||
.*: fc2f7d00 vsdot.s8 d7, d15, d0
|
||||
.*: fe2f7d00 vsdot.s8 d7, d15, d0\[0\]
|
||||
.*: fc2f7d08 vsdot.s8 d7, d15, d8
|
||||
.*: fe2f7d08 vsdot.s8 d7, d15, d8\[0\]
|
||||
.*: fc2f7d0f vsdot.s8 d7, d15, d15
|
||||
.*: fe2f7d0f vsdot.s8 d7, d15, d15\[0\]
|
||||
.*: fc2e7d80 vsdot.s8 d7, d30, d0
|
||||
.*: fe2e7d80 vsdot.s8 d7, d30, d0\[0\]
|
||||
.*: fc2e7d88 vsdot.s8 d7, d30, d8
|
||||
.*: fe2e7d88 vsdot.s8 d7, d30, d8\[0\]
|
||||
.*: fc2e7d8f vsdot.s8 d7, d30, d15
|
||||
.*: fe2e7d8f vsdot.s8 d7, d30, d15\[0\]
|
||||
.*: fc620d00 vsdot.s8 d16, d2, d0
|
||||
.*: fe620d00 vsdot.s8 d16, d2, d0\[0\]
|
||||
.*: fc620d08 vsdot.s8 d16, d2, d8
|
||||
.*: fe620d08 vsdot.s8 d16, d2, d8\[0\]
|
||||
.*: fc620d0f vsdot.s8 d16, d2, d15
|
||||
.*: fe620d0f vsdot.s8 d16, d2, d15\[0\]
|
||||
.*: fc6f0d00 vsdot.s8 d16, d15, d0
|
||||
.*: fe6f0d00 vsdot.s8 d16, d15, d0\[0\]
|
||||
.*: fc6f0d08 vsdot.s8 d16, d15, d8
|
||||
.*: fe6f0d08 vsdot.s8 d16, d15, d8\[0\]
|
||||
.*: fc6f0d0f vsdot.s8 d16, d15, d15
|
||||
.*: fe6f0d0f vsdot.s8 d16, d15, d15\[0\]
|
||||
.*: fc6e0d80 vsdot.s8 d16, d30, d0
|
||||
.*: fe6e0d80 vsdot.s8 d16, d30, d0\[0\]
|
||||
.*: fc6e0d88 vsdot.s8 d16, d30, d8
|
||||
.*: fe6e0d88 vsdot.s8 d16, d30, d8\[0\]
|
||||
.*: fc6e0d8f vsdot.s8 d16, d30, d15
|
||||
.*: fe6e0d8f vsdot.s8 d16, d30, d15\[0\]
|
||||
.*: fc62fd00 vsdot.s8 d31, d2, d0
|
||||
.*: fe62fd00 vsdot.s8 d31, d2, d0\[0\]
|
||||
.*: fc62fd08 vsdot.s8 d31, d2, d8
|
||||
.*: fe62fd08 vsdot.s8 d31, d2, d8\[0\]
|
||||
.*: fc62fd0f vsdot.s8 d31, d2, d15
|
||||
.*: fe62fd0f vsdot.s8 d31, d2, d15\[0\]
|
||||
.*: fc6ffd00 vsdot.s8 d31, d15, d0
|
||||
.*: fe6ffd00 vsdot.s8 d31, d15, d0\[0\]
|
||||
.*: fc6ffd08 vsdot.s8 d31, d15, d8
|
||||
.*: fe6ffd08 vsdot.s8 d31, d15, d8\[0\]
|
||||
.*: fc6ffd0f vsdot.s8 d31, d15, d15
|
||||
.*: fe6ffd0f vsdot.s8 d31, d15, d15\[0\]
|
||||
.*: fc6efd80 vsdot.s8 d31, d30, d0
|
||||
.*: fe6efd80 vsdot.s8 d31, d30, d0\[0\]
|
||||
.*: fc6efd88 vsdot.s8 d31, d30, d8
|
||||
.*: fe6efd88 vsdot.s8 d31, d30, d8\[0\]
|
||||
.*: fc6efd8f vsdot.s8 d31, d30, d15
|
||||
.*: fe6efd8f vsdot.s8 d31, d30, d15\[0\]
|
||||
.*: fc240d50 vudot.u8 q0, q2, q0
|
||||
.*: fe240d70 vudot.u8 q0, q2, d0\[1\]
|
||||
.*: fc240d5e vudot.u8 q0, q2, q7
|
||||
.*: fe240d77 vudot.u8 q0, q2, d7\[1\]
|
||||
.*: fc240d7e vudot.u8 q0, q2, q15
|
||||
.*: fe240d7f vudot.u8 q0, q2, d15\[1\]
|
||||
.*: fc260d50 vudot.u8 q0, q3, q0
|
||||
.*: fe260d70 vudot.u8 q0, q3, d0\[1\]
|
||||
.*: fc260d5e vudot.u8 q0, q3, q7
|
||||
.*: fe260d77 vudot.u8 q0, q3, d7\[1\]
|
||||
.*: fc260d7e vudot.u8 q0, q3, q15
|
||||
.*: fe260d7f vudot.u8 q0, q3, d15\[1\]
|
||||
.*: fc2c0dd0 vudot.u8 q0, q14, q0
|
||||
.*: fe2c0df0 vudot.u8 q0, q14, d0\[1\]
|
||||
.*: fc2c0dde vudot.u8 q0, q14, q7
|
||||
.*: fe2c0df7 vudot.u8 q0, q14, d7\[1\]
|
||||
.*: fc2c0dfe vudot.u8 q0, q14, q15
|
||||
.*: fe2c0dff vudot.u8 q0, q14, d15\[1\]
|
||||
.*: fc242d50 vudot.u8 q1, q2, q0
|
||||
.*: fe242d70 vudot.u8 q1, q2, d0\[1\]
|
||||
.*: fc242d5e vudot.u8 q1, q2, q7
|
||||
.*: fe242d77 vudot.u8 q1, q2, d7\[1\]
|
||||
.*: fc242d7e vudot.u8 q1, q2, q15
|
||||
.*: fe242d7f vudot.u8 q1, q2, d15\[1\]
|
||||
.*: fc262d50 vudot.u8 q1, q3, q0
|
||||
.*: fe262d70 vudot.u8 q1, q3, d0\[1\]
|
||||
.*: fc262d5e vudot.u8 q1, q3, q7
|
||||
.*: fe262d77 vudot.u8 q1, q3, d7\[1\]
|
||||
.*: fc262d7e vudot.u8 q1, q3, q15
|
||||
.*: fe262d7f vudot.u8 q1, q3, d15\[1\]
|
||||
.*: fc2c2dd0 vudot.u8 q1, q14, q0
|
||||
.*: fe2c2df0 vudot.u8 q1, q14, d0\[1\]
|
||||
.*: fc2c2dde vudot.u8 q1, q14, q7
|
||||
.*: fe2c2df7 vudot.u8 q1, q14, d7\[1\]
|
||||
.*: fc2c2dfe vudot.u8 q1, q14, q15
|
||||
.*: fe2c2dff vudot.u8 q1, q14, d15\[1\]
|
||||
.*: fc24cd50 vudot.u8 q6, q2, q0
|
||||
.*: fe24cd70 vudot.u8 q6, q2, d0\[1\]
|
||||
.*: fc24cd5e vudot.u8 q6, q2, q7
|
||||
.*: fe24cd77 vudot.u8 q6, q2, d7\[1\]
|
||||
.*: fc24cd7e vudot.u8 q6, q2, q15
|
||||
.*: fe24cd7f vudot.u8 q6, q2, d15\[1\]
|
||||
.*: fc26cd50 vudot.u8 q6, q3, q0
|
||||
.*: fe26cd70 vudot.u8 q6, q3, d0\[1\]
|
||||
.*: fc26cd5e vudot.u8 q6, q3, q7
|
||||
.*: fe26cd77 vudot.u8 q6, q3, d7\[1\]
|
||||
.*: fc26cd7e vudot.u8 q6, q3, q15
|
||||
.*: fe26cd7f vudot.u8 q6, q3, d15\[1\]
|
||||
.*: fc2ccdd0 vudot.u8 q6, q14, q0
|
||||
.*: fe2ccdf0 vudot.u8 q6, q14, d0\[1\]
|
||||
.*: fc2ccdde vudot.u8 q6, q14, q7
|
||||
.*: fe2ccdf7 vudot.u8 q6, q14, d7\[1\]
|
||||
.*: fc2ccdfe vudot.u8 q6, q14, q15
|
||||
.*: fe2ccdff vudot.u8 q6, q14, d15\[1\]
|
||||
.*: fc64ad50 vudot.u8 q13, q2, q0
|
||||
.*: fe64ad70 vudot.u8 q13, q2, d0\[1\]
|
||||
.*: fc64ad5e vudot.u8 q13, q2, q7
|
||||
.*: fe64ad77 vudot.u8 q13, q2, d7\[1\]
|
||||
.*: fc64ad7e vudot.u8 q13, q2, q15
|
||||
.*: fe64ad7f vudot.u8 q13, q2, d15\[1\]
|
||||
.*: fc66ad50 vudot.u8 q13, q3, q0
|
||||
.*: fe66ad70 vudot.u8 q13, q3, d0\[1\]
|
||||
.*: fc66ad5e vudot.u8 q13, q3, q7
|
||||
.*: fe66ad77 vudot.u8 q13, q3, d7\[1\]
|
||||
.*: fc66ad7e vudot.u8 q13, q3, q15
|
||||
.*: fe66ad7f vudot.u8 q13, q3, d15\[1\]
|
||||
.*: fc6cadd0 vudot.u8 q13, q14, q0
|
||||
.*: fe6cadf0 vudot.u8 q13, q14, d0\[1\]
|
||||
.*: fc6cadde vudot.u8 q13, q14, q7
|
||||
.*: fe6cadf7 vudot.u8 q13, q14, d7\[1\]
|
||||
.*: fc6cadfe vudot.u8 q13, q14, q15
|
||||
.*: fe6cadff vudot.u8 q13, q14, d15\[1\]
|
||||
.*: fc240d40 vsdot.s8 q0, q2, q0
|
||||
.*: fe240d60 vsdot.s8 q0, q2, d0\[1\]
|
||||
.*: fc240d4e vsdot.s8 q0, q2, q7
|
||||
.*: fe240d67 vsdot.s8 q0, q2, d7\[1\]
|
||||
.*: fc240d6e vsdot.s8 q0, q2, q15
|
||||
.*: fe240d6f vsdot.s8 q0, q2, d15\[1\]
|
||||
.*: fc260d40 vsdot.s8 q0, q3, q0
|
||||
.*: fe260d60 vsdot.s8 q0, q3, d0\[1\]
|
||||
.*: fc260d4e vsdot.s8 q0, q3, q7
|
||||
.*: fe260d67 vsdot.s8 q0, q3, d7\[1\]
|
||||
.*: fc260d6e vsdot.s8 q0, q3, q15
|
||||
.*: fe260d6f vsdot.s8 q0, q3, d15\[1\]
|
||||
.*: fc2c0dc0 vsdot.s8 q0, q14, q0
|
||||
.*: fe2c0de0 vsdot.s8 q0, q14, d0\[1\]
|
||||
.*: fc2c0dce vsdot.s8 q0, q14, q7
|
||||
.*: fe2c0de7 vsdot.s8 q0, q14, d7\[1\]
|
||||
.*: fc2c0dee vsdot.s8 q0, q14, q15
|
||||
.*: fe2c0def vsdot.s8 q0, q14, d15\[1\]
|
||||
.*: fc242d40 vsdot.s8 q1, q2, q0
|
||||
.*: fe242d60 vsdot.s8 q1, q2, d0\[1\]
|
||||
.*: fc242d4e vsdot.s8 q1, q2, q7
|
||||
.*: fe242d67 vsdot.s8 q1, q2, d7\[1\]
|
||||
.*: fc242d6e vsdot.s8 q1, q2, q15
|
||||
.*: fe242d6f vsdot.s8 q1, q2, d15\[1\]
|
||||
.*: fc262d40 vsdot.s8 q1, q3, q0
|
||||
.*: fe262d60 vsdot.s8 q1, q3, d0\[1\]
|
||||
.*: fc262d4e vsdot.s8 q1, q3, q7
|
||||
.*: fe262d67 vsdot.s8 q1, q3, d7\[1\]
|
||||
.*: fc262d6e vsdot.s8 q1, q3, q15
|
||||
.*: fe262d6f vsdot.s8 q1, q3, d15\[1\]
|
||||
.*: fc2c2dc0 vsdot.s8 q1, q14, q0
|
||||
.*: fe2c2de0 vsdot.s8 q1, q14, d0\[1\]
|
||||
.*: fc2c2dce vsdot.s8 q1, q14, q7
|
||||
.*: fe2c2de7 vsdot.s8 q1, q14, d7\[1\]
|
||||
.*: fc2c2dee vsdot.s8 q1, q14, q15
|
||||
.*: fe2c2def vsdot.s8 q1, q14, d15\[1\]
|
||||
.*: fc24cd40 vsdot.s8 q6, q2, q0
|
||||
.*: fe24cd60 vsdot.s8 q6, q2, d0\[1\]
|
||||
.*: fc24cd4e vsdot.s8 q6, q2, q7
|
||||
.*: fe24cd67 vsdot.s8 q6, q2, d7\[1\]
|
||||
.*: fc24cd6e vsdot.s8 q6, q2, q15
|
||||
.*: fe24cd6f vsdot.s8 q6, q2, d15\[1\]
|
||||
.*: fc26cd40 vsdot.s8 q6, q3, q0
|
||||
.*: fe26cd60 vsdot.s8 q6, q3, d0\[1\]
|
||||
.*: fc26cd4e vsdot.s8 q6, q3, q7
|
||||
.*: fe26cd67 vsdot.s8 q6, q3, d7\[1\]
|
||||
.*: fc26cd6e vsdot.s8 q6, q3, q15
|
||||
.*: fe26cd6f vsdot.s8 q6, q3, d15\[1\]
|
||||
.*: fc2ccdc0 vsdot.s8 q6, q14, q0
|
||||
.*: fe2ccde0 vsdot.s8 q6, q14, d0\[1\]
|
||||
.*: fc2ccdce vsdot.s8 q6, q14, q7
|
||||
.*: fe2ccde7 vsdot.s8 q6, q14, d7\[1\]
|
||||
.*: fc2ccdee vsdot.s8 q6, q14, q15
|
||||
.*: fe2ccdef vsdot.s8 q6, q14, d15\[1\]
|
||||
.*: fc64ad40 vsdot.s8 q13, q2, q0
|
||||
.*: fe64ad60 vsdot.s8 q13, q2, d0\[1\]
|
||||
.*: fc64ad4e vsdot.s8 q13, q2, q7
|
||||
.*: fe64ad67 vsdot.s8 q13, q2, d7\[1\]
|
||||
.*: fc64ad6e vsdot.s8 q13, q2, q15
|
||||
.*: fe64ad6f vsdot.s8 q13, q2, d15\[1\]
|
||||
.*: fc66ad40 vsdot.s8 q13, q3, q0
|
||||
.*: fe66ad60 vsdot.s8 q13, q3, d0\[1\]
|
||||
.*: fc66ad4e vsdot.s8 q13, q3, q7
|
||||
.*: fe66ad67 vsdot.s8 q13, q3, d7\[1\]
|
||||
.*: fc66ad6e vsdot.s8 q13, q3, q15
|
||||
.*: fe66ad6f vsdot.s8 q13, q3, d15\[1\]
|
||||
.*: fc6cadc0 vsdot.s8 q13, q14, q0
|
||||
.*: fe6cade0 vsdot.s8 q13, q14, d0\[1\]
|
||||
.*: fc6cadce vsdot.s8 q13, q14, q7
|
||||
.*: fe6cade7 vsdot.s8 q13, q14, d7\[1\]
|
||||
.*: fc6cadee vsdot.s8 q13, q14, q15
|
||||
.*: fe6cadef vsdot.s8 q13, q14, d15\[1\]
|
|
@ -1,3 +1,10 @@
|
|||
2017-11-08 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* opcode/arm.h (ARM_AEXT2_V8_4A): Include Dot Product feature.
|
||||
(ARM_EXT2_V8_4A): New macro.
|
||||
(ARM_AEXT2_V8_4A): Likewise.
|
||||
(ARM_ARCH_V8_4A): Likewise.
|
||||
|
||||
2017-11-07 Palmer Dabbelt <palmer@dabbelt.com>
|
||||
|
||||
* opcode/riscv-opc.h (sptbr): Rename to satp.
|
||||
|
|
|
@ -66,6 +66,7 @@
|
|||
#define ARM_EXT2_RAS 0x00000080 /* RAS extension. */
|
||||
#define ARM_EXT2_V8_3A 0x00000100 /* ARM V8.3A. */
|
||||
#define ARM_EXT2_V8A 0x00000200 /* ARMv8-A. */
|
||||
#define ARM_EXT2_V8_4A 0x00000400 /* ARM V8.4A. */
|
||||
|
||||
/* Co-processor space extensions. */
|
||||
#define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */
|
||||
|
@ -156,6 +157,7 @@
|
|||
#define ARM_AEXT2_V8_1A (ARM_AEXT2_V8A | ARM_EXT2_PAN)
|
||||
#define ARM_AEXT2_V8_2A (ARM_AEXT2_V8_1A | ARM_EXT2_V8_2A | ARM_EXT2_RAS)
|
||||
#define ARM_AEXT2_V8_3A (ARM_AEXT2_V8_2A | ARM_EXT2_V8_3A)
|
||||
#define ARM_AEXT2_V8_4A (ARM_AEXT2_V8_3A | ARM_EXT2_V8_4A)
|
||||
#define ARM_AEXT_V8M_BASE (ARM_AEXT_V6SM | ARM_EXT_DIV)
|
||||
#define ARM_AEXT_V8M_MAIN ARM_AEXT_V7M
|
||||
#define ARM_AEXT_V8M_MAIN_DSP ARM_AEXT_V7EM
|
||||
|
@ -228,8 +230,8 @@
|
|||
#define FPU_ARCH_CRYPTO_NEON_VFP_ARMV8 \
|
||||
ARM_FEATURE_COPROC (FPU_CRYPTO_ARMV8 | FPU_NEON_ARMV8 | FPU_VFP_ARMV8)
|
||||
#define FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD \
|
||||
ARM_FEATURE_COPROC (FPU_CRYPTO_ARMV8 | FPU_NEON_ARMV8 | FPU_VFP_ARMV8 | \
|
||||
FPU_NEON_EXT_DOTPROD)
|
||||
ARM_FEATURE_COPROC (FPU_CRYPTO_ARMV8 | FPU_NEON_ARMV8 | FPU_VFP_ARMV8 \
|
||||
| FPU_NEON_EXT_DOTPROD)
|
||||
#define ARCH_CRC_ARMV8 ARM_FEATURE_COPROC (CRC_EXT_ARMV8)
|
||||
#define FPU_ARCH_NEON_VFP_ARMV8_1 \
|
||||
ARM_FEATURE_COPROC (FPU_NEON_ARMV8 \
|
||||
|
@ -287,6 +289,9 @@
|
|||
CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA)
|
||||
#define ARM_ARCH_V8_3A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_3A, \
|
||||
CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA)
|
||||
#define ARM_ARCH_V8_4A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_4A, \
|
||||
CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA \
|
||||
| FPU_NEON_EXT_DOTPROD)
|
||||
#define ARM_ARCH_V8M_BASE ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE, ARM_AEXT2_V8M)
|
||||
#define ARM_ARCH_V8M_MAIN ARM_FEATURE_CORE (ARM_AEXT_V8M_MAIN, \
|
||||
ARM_AEXT2_V8M_MAIN)
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2017-11-08 Jiong Wang <jiong.wang@arm.com>
|
||||
Tamar Christina <tamar.christina@arm.com>
|
||||
|
||||
* arm-dis.c (coprocessor_opcodes): New entries for ARMv8.2-A new
|
||||
FP16 instructions, including vfmal.f16 and vfmsl.f16.
|
||||
|
||||
2017-11-07 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* arc-nps400-tbl.h: Change incorrect use of NONE to MISC.
|
||||
|
|
|
@ -912,6 +912,24 @@ static const struct opcode32 coprocessor_opcodes[] =
|
|||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_DOTPROD),
|
||||
0xfe000d00, 0xff000f00, "v%4?usdot.%4?us8\t%12-15,22V, %16-19,7V, %0-3D[%5?10]"},
|
||||
|
||||
/* ARMv8.2 FMAC Long instructions in the space of coprocessor 8. */
|
||||
{ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A),
|
||||
0xfc200810, 0xffb00f50, "vfmal.f16\t%12-15,22D, s%7,16-19d, s%5,0-3d"},
|
||||
{ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A),
|
||||
0xfca00810, 0xffb00f50, "vfmsl.f16\t%12-15,22D, s%7,16-19d, s%5,0-3d"},
|
||||
{ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A),
|
||||
0xfc200850, 0xffb00f50, "vfmal.f16\t%12-15,22Q, d%16-19,7d, d%0-3,5d"},
|
||||
{ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A),
|
||||
0xfca00850, 0xffb00f50, "vfmsl.f16\t%12-15,22Q, d%16-19,7d, d%0-3,5d"},
|
||||
{ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A),
|
||||
0xfe000810, 0xffb00f50, "vfmal.f16\t%12-15,22D, s%7,16-19d, s%5,0-2d[%3d]"},
|
||||
{ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A),
|
||||
0xfe100810, 0xffb00f50, "vfmsl.f16\t%12-15,22D, s%7,16-19d, s%5,0-2d[%3d]"},
|
||||
{ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A),
|
||||
0xfe000850, 0xffb00f50, "vfmal.f16\t%12-15,22Q, d%16-19,7d, d%0-2d[%3,5d]"},
|
||||
{ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A),
|
||||
0xfe100850, 0xffb00f50, "vfmsl.f16\t%12-15,22Q, d%16-19,7d, d%0-2d[%3,5d]"},
|
||||
|
||||
/* V5 coprocessor instructions. */
|
||||
{ARM_FEATURE_CORE_LOW (ARM_EXT_V5),
|
||||
0xfc100000, 0xfe100000, "ldc2%22'l%c\t%8-11d, cr%12-15d, %A"},
|
||||
|
|
Loading…
Reference in New Issue