Commit 85e5629f by Claudiu Zissulescu Committed by Claudiu Zissulescu

[ARC] Enable unaligned access.

Use munaligned-access to control if we can have unaligned accesses.  For ARC
HS family unaligned access is always on.

2018-01-08  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc-c.def (__ARC_UNALIGNED__): New define.
	* config/arc/arc.h (STRICT_ALIGNMENT): Control this macro using
	munaligned-access.

From-SVN: r256333
parent b5da8f94
2018-01-08 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc-c.def (__ARC_UNALIGNED__): New define.
* config/arc/arc.h (STRICT_ALIGNMENT): Control this macro using
munaligned-access.
2018-01-08 Sebastian Huber <sebastian.huber@embedded-brains.de> 2018-01-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR target/83681 PR target/83681
......
...@@ -28,6 +28,7 @@ ARC_C_DEF ("__ARC_NORM__", TARGET_NORM) ...@@ -28,6 +28,7 @@ ARC_C_DEF ("__ARC_NORM__", TARGET_NORM)
ARC_C_DEF ("__ARC_MUL64__", TARGET_MUL64_SET) ARC_C_DEF ("__ARC_MUL64__", TARGET_MUL64_SET)
ARC_C_DEF ("__ARC_MUL32BY16__", TARGET_MULMAC_32BY16_SET) ARC_C_DEF ("__ARC_MUL32BY16__", TARGET_MULMAC_32BY16_SET)
ARC_C_DEF ("__ARC_SIMD__", TARGET_SIMD_SET) ARC_C_DEF ("__ARC_SIMD__", TARGET_SIMD_SET)
ARC_C_DEF ("__ARC_UNALIGNED__", !STRICT_ALIGNMENT)
ARC_C_DEF ("__ARC_BARREL_SHIFTER__", TARGET_BARREL_SHIFTER) ARC_C_DEF ("__ARC_BARREL_SHIFTER__", TARGET_BARREL_SHIFTER)
......
...@@ -288,7 +288,7 @@ if (GET_MODE_CLASS (MODE) == MODE_INT \ ...@@ -288,7 +288,7 @@ if (GET_MODE_CLASS (MODE) == MODE_INT \
/* On the ARC the lower address bits are masked to 0 as necessary. The chip /* On the ARC the lower address bits are masked to 0 as necessary. The chip
won't croak when given an unaligned address, but the insn will still fail won't croak when given an unaligned address, but the insn will still fail
to produce the correct result. */ to produce the correct result. */
#define STRICT_ALIGNMENT 1 #define STRICT_ALIGNMENT (!unaligned_access && !TARGET_HS)
/* Layout of source language data types. */ /* Layout of source language data types. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment