aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamana Radhakrishnan <ramana.radhakrishnan@arm.com>2019-07-20 22:48:03 +0100
committerGeorgios Pinitas <georgios.pinitas@arm.com>2019-07-23 16:30:41 +0000
commit7faa0ec6d74883f29924efaf86c15a9634fdec64 (patch)
treedeb893c6c78959284a0e2eb89fae57e7d424c66f
parentcb6858f3ac8d0668b7cea14ec2ed570c8e3d4c74 (diff)
downloadComputeLibrary-7faa0ec6d74883f29924efaf86c15a9634fdec64.tar.gz
Use .inst directives instead of .int directives.
Has a couple of benefits, one is a disassembler that actually understands dot product will start showing the dot product instruction for what it is rather than just a random .word. For the interested parties in actually why compilers and toolchains manage to disassemble this , please go and look up mapping symbols from toolchains. Secondly .word is a data directive and if you ever have a customer run Arm compute library on big endian, on AArch64 this will not work. This is because data on big endian is well, big endian but the code section is not big endian but just little endian. Admittedly there will be many other things that need to be fixed for big endian to work reliably. Eyeballed satisfactorily with a simple case. If someone could run this through a test run with the CI that would be great. Thanks, Ramana Change-Id: I0b9573ecbed298afc967d675b0542a6fe72b4c52 Signed-off-by: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> Reviewed-on: https://review.mlplatform.org/c/1588 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
-rw-r--r--src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s8_12x8/dot_toolchain_support.h2
-rw-r--r--src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8/dot_toolchain_support.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s8_12x8/dot_toolchain_support.h b/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s8_12x8/dot_toolchain_support.h
index 8267ee9a76..2f9f905663 100644
--- a/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s8_12x8/dot_toolchain_support.h
+++ b/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s8_12x8/dot_toolchain_support.h
@@ -63,6 +63,6 @@
".error \"Bad operand \\opm\"\n"\
".exitm\n"\
".endif\n"\
- ".int 0x4f80e000 | vd | (vn << 5) | (vm << 16) | (l << 21) | (h << 11)\n"\
+ ".inst 0x4f80e000 | vd | (vn << 5) | (vm << 16) | (l << 21) | (h << 11)\n"\
".endm\n"\
diff --git a/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8/dot_toolchain_support.h b/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8/dot_toolchain_support.h
index b06e78938e..2f0a910593 100644
--- a/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8/dot_toolchain_support.h
+++ b/src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8/dot_toolchain_support.h
@@ -62,6 +62,6 @@
".error \"Bad operand \\opm\"\n"\
".exitm\n"\
".endif\n"\
- ".int 0x6f80e000 | vd | (vn << 5) | (vm << 16) | (l << 21) | (h << 11)\n"\
+ ".inst 0x6f80e000 | vd | (vn << 5) | (vm << 16) | (l << 21) | (h << 11)\n"\
".endm\n"\