[AArch64] Set SLOW_BYTE_ACCESS
authorWilco Dijkstra <wdijkstr@arm.com>
Mon, 20 Jan 2020 13:09:15 +0000 (13:09 +0000)
committerWilco Dijkstra <wdijkstr@arm.com>
Mon, 20 Jan 2020 13:09:15 +0000 (13:09 +0000)
Contrary to all documentation, SLOW_BYTE_ACCESS simply means accessing
bitfields by their declared type, which results in better codegeneration.

gcc/
* config/aarch64/aarch64.h (SLOW_BYTE_ACCESS): Set to 1.

gcc/ChangeLog
gcc/config/aarch64/aarch64.h

index f955514fe0c53f235873824f53e9397fa1e11ead..ce26404812a036139867e11307932d38ee4eff8e 100644 (file)
@@ -1,3 +1,7 @@
+2020-01-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * config/aarch64/aarch64.h (SLOW_BYTE_ACCESS): Set to 1.
+
 2020-01-20  Richard Sandiford  <richard.sandiford@arm.com>
 
        * config/aarch64/aarch64-sve-builtins-base.cc
index eac2d62d63c8cc88fb1fe566cf95a4c56bb5bb4c..342fe29bd91f153f1fb8dd5d40b2e0c611542f7f 100644 (file)
@@ -1006,14 +1006,8 @@ typedef struct
    if given data not on the nominal alignment.  */
 #define STRICT_ALIGNMENT               TARGET_STRICT_ALIGN
 
-/* Define this macro to be non-zero if accessing less than a word of
-   memory is no faster than accessing a word of memory, i.e., if such
-   accesses require more than one instruction or if there is no
-   difference in cost.
-   Although there's no difference in instruction count or cycles,
-   in AArch64 we don't want to expand to a sub-word to a 64-bit access
-   if we don't have to, for power-saving reasons.  */
-#define SLOW_BYTE_ACCESS               0
+/* Enable wide bitfield accesses for more efficient bitfield code.  */
+#define SLOW_BYTE_ACCESS 1
 
 #define NO_FUNCTION_CSE        1