public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/6] [i386] PR80969 Fix ICE with -mabi=ms -mavx512f
@ 2017-07-31 11:16 Daniel Santos
  2017-07-31 11:19 ` [PATCH 6/6] [i386, testsuite] Add tests, fix bug in check_avx2_hw_available Daniel Santos
                   ` (7 more replies)
  0 siblings, 8 replies; 22+ messages in thread
From: Daniel Santos @ 2017-07-31 11:16 UTC (permalink / raw)
  To: gcc-patches, Uros Bizjak, Jan Hubicka, H.J. Lu, Martin Liska,
	Rainer Orth, Mike Stump

[-- Attachment #1: Type: text/plain, Size: 1114 bytes --]

When working on the Wine64 project to use aligned SSE MOVs after SP 
realignment and adding -mcall-ms2sysv-xlogues, I overlooked the fact 
that the function body may require a stack alignment greater than 
16-bytes.  This can result in an ICE with -mabi=ms -mavx512f and some 
other cases.  This patch set reworks the strategy for calculating the 
frame layout following normal (inline) integral register saves (at 
frame.reg_save_offset) to the start of the frame for the local function 
(frame.frame_pointer_offset).

I've completed a bootstrap and full regression test with no additional 
failures, but I don't have access to a machine with avx512 extensions.  
I have manually run the tests that need it using the Intel SDE, but I 
haven't been able to validate that my 
check_effective_target_avx512f_runtime code in 
gcc/testsuite/lib/target-supports.exp is correctly enabling the tests 
for pr80969-4*.c.

As an aside note, I still have some rework of the ms-sysv.exp tests that 
I haven't yet to submitted and in which I'm adding more tests for cases 
with uncommon stacks, as in PR 81563.

Thanks,
Daniel

[-- Attachment #2: pr80969.gcc.ChangeLog --]
[-- Type: text/plain, Size: 712 bytes --]

2017-07-23  Daniel Santos  <daniel.santos@pobox.com>

	* config/i386/i386.h (ix86_frame::outlined_save_offset): Remove field.
	(ix86_frame::stack_realign_allocate_offset): Likewise.
	(ix86_frame::stack_realign_allocate): New field.
	(struct machine_frame_state): Modify comments.
	(machine_frame_state::sp_realigned_fp_end): New field.
	(machine_function::call_ms2sysv_pad_out): Remove field.
	* config/i386/i386.c (xlogue_layout::get_stack_space_used): Modify.
	(ix86_compute_frame_layout): Likewise.
	(sp_valid_at): Likewise.
	(fp_valid_at): Likewise.
	(choose_baseaddr): Modify comments.
	(ix86_emit_outlined_ms2sysv_save): Modify.
	(ix86_expand_prologue): Likewise.
	(ix86_expand_epilogue): Modify comments.

[-- Attachment #3: pr80969.gcc.testsuite.ChangeLog --]
[-- Type: text/plain, Size: 354 bytes --]

2017-07-23  Daniel Santos  <daniel.santos@pobox.com>
	* gcc.target/i386/pr80969-1.c: New testcase.
	* gcc.target/i386/pr80969-2a.c: Likewise.
	* gcc.target/i386/pr80969-2.c: Likewise.
	* gcc.target/i386/pr80969-3.c: Likewise.
	* gcc.target/i386/pr80969-4a.c: Likewise.
	* gcc.target/i386/pr80969-4b.c: Likewise.
	* gcc.target/i386/pr80969-4.c: Likewise.

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2017-08-23 20:49 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-31 11:16 [PATCH 0/6] [i386] PR80969 Fix ICE with -mabi=ms -mavx512f Daniel Santos
2017-07-31 11:19 ` [PATCH 6/6] [i386, testsuite] Add tests, fix bug in check_avx2_hw_available Daniel Santos
2017-08-08 19:23   ` [PATCH 6/6 v2] " Daniel Santos
2017-07-31 11:19 ` [PATCH 5/6] [i386] Modify SP realignment in ix86_expand_prologue, et. al Daniel Santos
2017-08-02 23:28   ` [PATCH 5/6 v2] " Daniel Santos
2017-07-31 11:19 ` [PATCH 4/6] [i386] Modify ix86_compute_frame_layout Daniel Santos
2017-07-31 11:19 ` [PATCH 2/6] [i386] Remove ix86_frame::outlined_save_offset Daniel Santos
2017-07-31 13:53   ` Uros Bizjak
2017-07-31 11:19 ` [PATCH 3/6] [i386] Remove machine_function::call_ms2sysv_pad_out Daniel Santos
2017-07-31 13:59   ` Uros Bizjak
2017-07-31 11:19 ` [PATCH 1/6] [i386] Correct comments, add assertions to sp_valid_at and fp_valid_at Daniel Santos
2017-07-31 17:23 ` [PATCH 0/6] [i386] PR80969 Fix ICE with -mabi=ms -mavx512f Daniel Santos
2017-08-01  6:20   ` Uros Bizjak
2017-08-08 19:31 ` PING " Daniel Santos
2017-08-22 22:44   ` [PATCH v4 0/4] " Daniel Santos
2017-08-22 23:23     ` [PATCH 1/4] [i386] Correct comments, add assertions to sp_valid_at and fp_valid_at Daniel Santos
2017-08-23  3:51     ` [PATCH 4/4] [i386, testsuite] Add tests, fix bug in check_avx2_hw_available Daniel Santos
2017-08-23 13:46       ` Uros Bizjak
2017-08-24  1:32         ` Daniel Santos
2017-08-23  4:17     ` [PATCH 2/4] [i386] Modify ix86_compute_frame_layout Daniel Santos
2017-08-23  4:18     ` [PATCH 3/4] [i386] Modify SP realignment in ix86_expand_prologue, et. al Daniel Santos
2017-08-23 13:53     ` [PATCH v4 0/4] [i386] PR80969 Fix ICE with -mabi=ms -mavx512f Uros Bizjak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).