+2020-02-17 Jiufu Guo <guojiufu@linux.ibm.com>
+
+ PR target/93047
+ * config/rs6000/rs6000.md (untyped_call): Add emit_clobber.
+
2020-02-16 Uroš Bizjak <ubizjak@gmail.com>
PR target/93743
emit_call_insn (gen_call (operands[0], const0_rtx, const0_rtx));
+ for (int i = 0; i < XVECLEN (operands[2], 0); i++)
+ emit_clobber (SET_SRC (XVECEXP (operands[2], 0, i)));
+ emit_insn (gen_blockage ());
+
for (i = 0; i < XVECLEN (operands[2], 0); i++)
{
rtx set = XVECEXP (operands[2], 0, i);
+2020-02-17 Jiufu Guo <guojiufu@linux.ibm.com>
+
+ PR target/93047
+ * gcc.dg/torture/stackalign/builtin-return-2.c: New test case.
+
2020-02-16 Uroš Bizjak <ubizjak@gmail.com>
PR target/93743
--- /dev/null
+/* PR target/93047 */
+/* Originator: Andrew Church <gcczilla@achurch.org> */
+/* { dg-do run } */
+/* { dg-additional-options "-O3 -frename-registers" } */
+/* { dg-require-effective-target untyped_assembly } */
+
+#ifdef __MMIX__
+/* No parameters on stack for bar. */
+#define STACK_ARGUMENTS_SIZE 0
+#else
+#define STACK_ARGUMENTS_SIZE 64
+#endif
+
+extern void abort(void);
+
+int foo(int n)
+{
+ return n+1;
+}
+
+int bar(int n)
+{
+ __builtin_return(__builtin_apply((void (*)(void))foo, __builtin_apply_args(),
+ STACK_ARGUMENTS_SIZE));
+}
+
+int main(void)
+{
+ /* Allocate 64 bytes on the stack to make sure that __builtin_apply
+ can read at least 64 bytes above the return address. */
+ char dummy[64];
+
+ __asm__ ("" : : "" (dummy));
+
+ if (bar(1) != 2)
+ abort();
+
+ return 0;
+}
+