+2016-10-19 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/77991
+ * config/i386/i386.c (legitimize_tls_address)
+ <case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS
+ convert dest to Pmode if different than Pmode.
+
2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org>
Backport from mainline
base = get_thread_pointer (tp_mode,
for_mov || !TARGET_TLS_DIRECT_SEG_REFS);
off = force_reg (tp_mode, off);
- return gen_rtx_PLUS (tp_mode, base, off);
+ dest = gen_rtx_PLUS (tp_mode, base, off);
+ if (tp_mode != Pmode)
+ dest = convert_to_mode (Pmode, dest, 1);
}
else
{
+2016-10-19 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/77991
+ * gcc.target/i386/pr77991.c: New test.
+
2016-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
Backport from trunk
subroutine as an actual argument when numeric argument is expected.
2016-09-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
+
Backport from trunk
PR fortran/69867
2016-09-30 Steven G. Kargl <kargl@gcc.gnu.org>
Backport from trunk
-
+
PR fortran/71799
* gfortran.dg/pr71799.f90: New test.
2016-09-30 Steven G. Kargl <kargl@gcc.gnu.org>
Backport from trunk
-
+
PR fortran/70006
* gfortran.dg/pr70006.f90: New test.
--- /dev/null
+/* { dg-do compile { target { ! ia32 } } } */
+/* { dg-require-effective-target maybe_x32 } */
+/* { dg-options "-O2 -mx32 -maddress-mode=short" } */
+
+struct rcu_reader_data
+{
+ unsigned ctr;
+ _Bool waiting;
+}
+
+extern __thread rcu_reader;
+
+void rcu_read_lock()
+{
+ struct rcu_reader_data *x = &rcu_reader;
+ _Bool val = 0;
+
+ __atomic_store(&x->waiting, &val, 0);
+}