From 5a79bcc454b5792db3471c4deba84630b2c26dd7 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 9 Sep 2010 12:00:54 +0930 Subject: invoke.text: Reinstate mcmodel=medium. * doc/invoke.text: Reinstate mcmodel=medium. * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set CMODEL_MEDIUM as default. * config/rs6000/rs6000.h (enum rs6000_cmodel): Add CMODEL_MEDIUM. * config/rs6000/rs6000.c (rs6000_handle_option): Add mcmodel=medium. (toc_relative_ok, offsettable_ok_by_alignment): New functions. (rs6000_emit_move): Reinstate mcmodel=medium optimization. From-SVN: r164045 --- gcc/config/rs6000/rs6000.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/config/rs6000/rs6000.h') diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 3ce011f..63f1bba 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -297,9 +297,11 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); /* Code model for 64-bit linux. small: 16-bit toc offsets. - large: 32-bit toc offsets. */ + medium: 32-bit toc offsets, static data and code within 2G of TOC pointer. + large: 32-bit toc offsets, no limit on static data and code. */ enum rs6000_cmodel { CMODEL_SMALL, + CMODEL_MEDIUM, CMODEL_LARGE }; -- cgit v1.1