Re: --disable-multilib broken on x86_64

2007-03-24 Thread Michael Meissner
On Sat, Mar 24, 2007 at 12:27:32PM -0700, Lu, Hongjiu wrote: > I can't duplicate the problem. It works fine for me. > > H.J. > [EMAIL PROTECTED] > > >-Original Message- > >From: Martin Michlmayr [mailto:[EMAIL PROTECTED] > >Sent: Saturday, March 24,

Re: --disable-multilib broken on x86_64

2007-03-26 Thread Michael Meissner
On Sat, Mar 24, 2007 at 07:01:40PM +, Martin Michlmayr wrote: > The following change broke --disable-multilib: > > 2007-03-23 Michael Meissner <[EMAIL PROTECTED]> > H.J. Lu <[EMAIL PROTECTED]> > > ../src/configure --enable-languages=c --dis

Re: error: "no newline at end of file"

2007-03-27 Thread Michael Meissner
ial preprocessing token or a partial comment... If there is no trailing (logical) newline, then the file would end in a partial preprocessing token. > (I knew the acronym "RMS" as "Record Management Services" before I ever > heard of a certain person who started a certain compiler). > > -- Michael Meissner, AMD 90 Central Street, MS 83-29, Boxborough, MA, 01719, USA [EMAIL PROTECTED]

An old timer returns to the fold

2005-04-15 Thread Michael Meissner
For those of you who I've worked with in the past on various GCC issues, I have returned back to GCC land after a long sojourn in other compilation systems. I will start work at AMD on Monday, April 18th, 2005, but I suspect it will be some time before I'm back up to speed. -- Michae

Re: i387 control word register definition is missing

2005-05-24 Thread Michael Meissner
If you are going to tackle it, be sure to have your paperwork in place so that your code changes can be used. -- Michael Meissner email: [EMAIL PROTECTED] http://www.the-meissners.org

Re: Visual C++ style inline asms

2005-06-17 Thread Michael Meissner
Finally, for the x86/x86_64, there are a lot of instructions that need to be handled, and it is an ongoing maintenance problem in that you now need to modify GCC as well as binutils to add new instructions. -- Michael Meissner email: [EMAIL PROTECTED]

Re: How to replace -O1 with corresponding -f's?

2005-06-21 Thread Michael Meissner
in both the offset and the appropriate base register into the instruction. > --- Additional Comment #6 From Mark Mitchell 2003-07-20 00:52 [reply] > --- > > Based on Franz's comments, this bug is not really a regression at all. > I've therefore removed the regression tags. > > that I've tried to explain in my comment #7. > > I don't think I need to file yet another PR in this situation, right? > > -- > Sergei. > -- Michael Meissner email: [EMAIL PROTECTED] http://www.the-meissners.org

Re: AMD 64 Problem with assembling

2005-07-12 Thread Michael Meissner
int ebx; int ecx; union { int i[4]; char c[16]; } u; __asm__ ("cpuid" : "=b" (ebx), "=d" (edx), "=c" (ecx) : "a" (0)); u.i[0] = ebx;

Re: Where does the C standard describe overflow of signed integers?

2005-07-12 Thread Michael Meissner
at least one vendor used instructions that caused an overflow trap for signed arithmetic. -- Michael Meissner email: [EMAIL PROTECTED] http://www.the-meissners.org

Re: Pointers in comparison expressions

2005-07-12 Thread Michael Meissner
this is not legal. Relational tests between pointers is only allowed by the ISO C standard if the two pointers point into the same array, or if a pointer points to exactly one byte beyond the array. > > P.S. > I'm not a list subscriber. Send me a copy of your reply, please. Ummm, I don't understand how you expect to get replies if you don't monitor the list. -- Michael Meissner email: [EMAIL PROTECTED] http://www.the-meissners.org

Re: Pointers in comparison expressions

2005-07-12 Thread Michael Meissner
than 32K to be created, but pointers could have the segment pointer as well as the bottom 16-bits. If a compiler knew size_t was restricted to 16 bits, it could eliminate code to normalize the pointer before doing the comparison, and just do a simple subtraction. -- Michael Meissner email: [EMAIL PROTECTED] http://www.the-meissners.org

Re: Question of the DFA scheduler

2005-08-11 Thread Michael Meissner
Ling-hua Tseng wrote: > I'm porting gcc 4.0.1 to a new VLIW architecture. > Some of its function units doesn't have internal hardware pipeline > forwarding, > so I need to insert "nop" instructions in order to resovle the data > hazard. > > I used the automata based pipeline description for my por

Re: ppc eabi float arguments

2015-09-23 Thread Michael Meissner
g from). From this distance, it sure looks like a bug, but I'm not sure whether it should be fixed or grand-fathered in (and updating the stdargs.h support, if this is the offical calling sequence). -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Re: ppc eabi float arguments

2015-09-23 Thread Michael Meissner
.org/wiki/RS/6000 -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Re: indirect load store on POWER8 and extra dress computation

2015-11-02 Thread Michael Meissner
ad instruction that uses the constant as an index register. Future machines may expand upon the list of fusable instructions. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Is MODES_TIEABLE_P transitive?

2016-04-21 Thread Michael Meissner
other. And does it matter whether we are using RELOAD or IRA? Thanks in advance. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Re: Is MODES_TIEABLE_P transitive?

2016-05-02 Thread Michael Meissner
On Mon, Apr 25, 2016 at 11:04:01AM -0600, Jeff Law wrote: > On 04/21/2016 01:53 PM, Michael Meissner wrote: > >As I start to allow integer modes into vector registers, I need to revisit > >MODES_TIEABLE_P. I'm wondering if MODES_TIEABLE_P is transitive? > I don'

Re: [buildrobot] sparc64-linux broken

2014-04-21 Thread Michael Meissner
ded into 3 camps, one that wanted to delete enums altogether, one that wanted them as int constants, and one that wanted more type checking. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

PowerPC IEEE 128-bit floating point: Meta discussion

2014-05-30 Thread Michael Meissner
have to move to a compiler/library combination for a feature they don't use. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Re: PowerPC IEEE 128-bit floating point: Where we are

2014-05-30 Thread Michael Meissner
t (vxworks?). In terms of places where TFmode is mentioned in GCC, it is the following files: predicates.md, rs6000.c, rs6000.h, rs6000.md, rs6000-modes.def, spe.md -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phon

Re: PowerPC IEEE 128-bit floating point: Emulation functions

2014-05-30 Thread Michael Meissner
of the user inadvertently calling the wrong function. As I see it, we have a choice to have something like multilibs where you select which library to use, or we have to use alternate names for all of the IEEE 128-bit emulation functions. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street

Re: PowerPC IEEE 128-bit floating point: Two 128-bit floating point types

2014-05-30 Thread Michael Meissner
d the other for more recent customers? I don't have a handle on the need for IEEE 128-bit floating point in non-server platforms. I assume in these environments, if we need IEEE 128-bit, it will be passed as two floating point values. Do we need this support? -- Michael Meissner, IBM IBM, M/S

Re: PowerPC IEEE 128-bit floating point: Internal GCC types

2014-05-30 Thread Michael Meissner
to create an alternate floating point mode than FRACITION_FLOAT_MODE that does no automatic widening. If there is a way under the current system, I am not aware of it. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phon

Re: PowerPC IEEE 128-bit floating point: Language standards

2014-06-02 Thread Michael Meissner
proprosed (such as __float128)? -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Re: target attributes/pragmas changing vector instruction availability and custom types

2015-06-02 Thread Michael Meissner
tup time (like the PowerPC does), you have to define all of the types used, even the current switches don't allow use of the types. Or you can only define what you need, and when you change options, you go through and define any stuff that wasn't previously defined that you can now use (like the current x86_64). -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Re: IEEE 128-bit floating point support for PowerPC RTEMS

2017-02-27 Thread Michael Meissner
floating point and use IEEE 128-bit instead of IBM double-double that the other PowerPC systems currently use. So it may be your call whether you want to enable it, and get it to work, or default back to long double == double. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

GCC target_clone support

2017-05-05 Thread Michael Meissner
t strings of the function decls are different. This assumes that FN1 and FN2 have the same signature. This is the TARGET_OPTION_FUNCTION_VERSIONS target hook, and it is the same between the x86 and ppc. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littlet

Re: GCC target_clone support (functionality question)

2017-05-05 Thread Michael Meissner
.type foo.avx.0, @function foo.avx.0: movl$10, %eax ret .type foo.avx2.1, @function foo.avx2.1: movl$10, %eax ret Note, it does not generate the resolver at all. -- Michael Meissner, IBM IBM, M/S 2506

Re: GCC target_clone support

2017-05-05 Thread Michael Meissner
} __attribute__((target_clones("default","avx","avx2"))) int callee (void) { return 10; } I.e. caller.avx should call callee.avx, not callee (or callee.ifunc), and caller.avx2 should call callee.avx2. Do people thin

Re: GCC target_clone support (functionality question)

2017-05-05 Thread Michael Meissner
On Fri, May 05, 2017 at 12:32:03PM -0700, Evgeny Stupachenko wrote: > Hi Michael, > > On Fri, May 5, 2017 at 11:45 AM, Michael Meissner > wrote: > > This message is separated from the question about moving code, as it is a > > questions about the functionality

Re: GCC target_clone support (functionality question)

2017-05-05 Thread Michael Meissner
On Fri, May 05, 2017 at 01:38:03PM -0700, Evgeny Stupachenko wrote: > On Fri, May 5, 2017 at 12:48 PM, Michael Meissner > wrote: > > On Fri, May 05, 2017 at 12:32:03PM -0700, Evgeny Stupachenko wrote: > >> Hi Michael, > >> > >> On Fri, May 5, 2017 at

Re: Byte swapping support

2017-09-12 Thread Michael Meissner
> uint16_t param1; > ... > } > } This definately requires support at the higher levels of the compiler. > and then I could access data in little ordering in the structures, then > in 16-bit big-endian lumps via the "protocol" array. One of the things you have to do is be prepared to do a full sweep of your backend to make sure you only used the named address memory functions and don't use the traditional functions that pass 0 for the named address. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

[RFC] Creating builtin functions on demand

2011-04-04 Thread Michael Meissner
lace those two arrays (with GET and SET versions), and poison the old usage. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com fax +1 (978) 399-6899

Hardware stream prefetching

2011-04-21 Thread Michael Meissner
I would like to add similar support in GCC. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com fax +1 (978) 399-6899

Re: Supporting multiple pointer sizes in GCC

2011-04-21 Thread Michael Meissner
ings has my paper describing adding the named address space support to the compiler. Note I have moved groups within IBM, and no longer work on the SPU compiler, so I haven't touched the named address space support since the early part of 2009. http://gcc.gnu.org/wiki/HomePage?action=Attach

Re: IRA: matches insn even though !reload_in_progress

2011-07-12 Thread Michael Meissner
_insn_and_split "*mulsqihi3_const2" [(set (match_operand:QI 0 "register_operand" "r") (match_operand:QI 1 "u8_operand" "n")) (set (match_operand:HI 2 "register_operand" "r") (mult:HI (sign_extend:HI (match_operand:QI 3 "register_operand" "a")) (zero_extend:HI (match_dup 0] "AVR_HAV_MUL" "#" "&& reload_completed" [(set (match_dup 0) (match_dup 1)) (set (match_dup 2) (mult:HI (sign_extend:HI (match_dup 3)) (zero_extend:HI (match_dup 0] {}) -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com fax +1 (978) 399-6899

Re: IRA: matches insn even though !reload_in_progress

2011-07-13 Thread Michael Meissner
> return false; > } > > > I choose .asmcons because it runs between IRA and split1, > and because I observed that pass numbers are fuzzy; > presumably because sub-passes like df etc. I'm not a big fan of this. I think it would be better to just add ira_in_progress and a fe

Re: libgcc/static-object.mk weird error on powerpc-rtems

2011-11-08 Thread Michael Meissner
hen I'm doing this, I tend to prefer eliminating any -j options so that it is clearer what is going on. To simplify things that break in libgcc, I often times just configure for C only, just to save the build time. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com fax +1 (978) 399-6899

Re: cc1: warning: unrecognized command line option "-Wno-narrowing"

2011-11-08 Thread Michael Meissner
ere recently added to > gcc/configure.ac and libcpp/configure.ac. FWIW, I'm seeing it also when I'm building on x86_64 RHEL 6.1 targeting powerpc64-linux, so I suspect it is a cross compiler issue, but I haven't checked it in detail. -- Michael Meissner, IBM 5 Technology Place Drive,

Re: powerpc rs6000_explicit_options change help request

2011-11-08 Thread Michael Meissner
bi = 1; \ > } \ > > That compiles but I wanted a sanity check that it is the right > transformation. Yes, this is the right transformation. Here is an untested patch that fixes it: 2011-11-08 Michael Meissner * config/rs6000/rtems.h (SUBSUBTARGE

Re: Why no strings in error messages?

2009-08-26 Thread Michael Meissner
s available, and the new registers do not have hard wired uses, which in the past always meant a lot of spills (also, the default floating point unit is SSE instead of the x87 stack). I never got around to testing this before AMD and I parted company. > On PPC -fschedule-insns is normally benefic

Re: Overly-keen format string warning?

2009-09-15 Thread Michael Meissner
c > > Should the format string warnings really be complaining about this on a > platform (i686-pc-cygwin) where there's only one kind of pointer? I don't get > the rationale, if this is intentional. Yes. It still is a type violation, even if it will work

Re: apple blocks extension

2009-09-15 Thread Michael Meissner
do for GCC? So roll up your sleeves and get coding, or convince other people (and their managers) that it is a good thing to do. I suspect there are people starting to think about it, and perhaps the interested parties need to organize to scope out the work. -- Michael Meissner,

Re: [LTO] Request for testing: Last merge from trunk before final merge

2009-09-30 Thread Michael Meissner
te, VMX is the altivec instruction set, not the new power7 (VSX) instruction set. Power6 machines should have altivec support. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: __attribute__((optimize)) and fast-math related oddities

2009-10-20 Thread Michael Meissner
en it has been in the compiler for 2 years now. There were a number of people that did ask me for it when I presented the initial thoughts a few years ago. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: About behavior of -save-temps=obj option on GCC 4.5

2010-03-25 Thread Michael Meissner
need to change as true filenames based on > source/object files. Well if this is a big problem for you, when 4.6 opens up, feel free to add a new varient of -save-temps=. The current implementation of -save-temps=obj meets the needs that I had in doing large builds. > - "-save-temp

Re: GSoC 2010 Project Idea

2010-03-30 Thread Michael Meissner
ll compilers have the notion of a vector keyword that is followed by a type (powerpc needs -maltivec and/or -mvsx to enable it). So you can write: vector float sum (vector float a, vector float b) { return a+b; } Now, ideally, it would be useful to have sytax so you could change the vector size,

Re: Defining a common plugin machinery

2008-10-09 Thread Michael Meissner
uld forget to include on their bug report. With explicit command lines, it is more likely that the GCC community would be able to debug problems. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA [EMAIL PROTECTED]

Re: RFC: overloading constraints

2008-10-17 Thread Michael Meissner
gister.") I could imagine that you could have more complex cases than just something or NO_REGS. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA [EMAIL PROTECTED]

Re: Including free compiler in a comercial software

2008-10-30 Thread Michael Meissner
you are just providing the compiler as a separate package without modifications, then this is a much simpler matter (this is allowed under section 4 of the gplv3). You really would need to talk to a lawyer to get an understanding of the rules and regulations for anything complicated (hint, most of the people reading this mailing list are not lawyers). -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA [EMAIL PROTECTED]

Re: Passing attributes to RTX

2008-11-11 Thread Michael Meissner
the extended address space. */ #define TYPE_ADDR_SPACE(NODE) (TYPE_CHECK (NODE)->type.address_space) Out of curiosity, could you email me a short summary of how you plan to use the named address space support in your port? -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA [EMAIL PROTECTED]

Re: Passing attributes to RTX

2008-11-11 Thread Michael Meissner
Ok, I just checked in a fix for this into the branch. The problem was the function that was testing to see if one memory had default attributes was not looking at the address space field. Let me know if this helps your port. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford

Re: Endianess attributes

2008-11-13 Thread Michael Meissner
can be done if people are motivated enough, so the fact it hasn't been done before shouldn't deter you or others from trying to do it, by working in a branch and doing merges, etc. I would make sure you take some time to understand the process for contributing changes if you aren't f

Re: A question regarding emitting additional info to an insn

2008-11-13 Thread Michael Meissner
4 special formats: #define PRINT_OPERAND_PUNCT_VALID_P(CODE) \ ((CODE) == '*' || (CODE) == '+' || (CODE) == '&' || (CODE) == ';') Then in print_operand, add a new case statement for '*' to do what you want. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA [EMAIL PROTECTED]

Re: Endianess attributes

2008-11-14 Thread Michael Meissner
On Thu, Nov 13, 2008 at 11:46:04PM +, Paul Brook wrote: > On Thursday 13 November 2008, Michael Meissner wrote: > > On Thu, Nov 13, 2008 at 09:14:06PM +0100, Paul Chavent wrote: > > > Hi. > > > > > > I wonder why there aren't any endianess attributes

Re: Various memory sizes

2008-12-16 Thread Michael Meissner
oid * be a universal pointer. You might want to look at what other (non-GCC) compilers do for different address spaces. I suspect that by and large, they just put the named address stuff as special types of static, and use generic address spaces for auto variables. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: Options of fixing biggest alignment in PR target/38736

2009-01-08 Thread Michael Meissner
memory aligned to that boundary? > > For that matter, don't we have a problem on x86 GNU/Linux, where > malloc returns an 8-byte alignment but attribute((aligned)) is a 16 > byte alignment? In that case, malloc should be changed to return items that are 16-byte aligned if any type needs 16-byte alignment for any possible ISA. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: GCC & OpenCL ?

2009-01-30 Thread Michael Meissner
s multi-core system before diving into the hetrogeneous systems. It is obvious to me, that a GCC based OpenCL system should support various systems in development, including homogeneous systems, pcs with add-on graphic processors, combination systems like the Cell systems, and be flexible enough for

Re: GCC & OpenCL ?

2009-02-03 Thread Michael Meissner
rld of difference. Even with just AMD GPU > support a GCC-based OpenCL implementation becomes a lot more practical. And bear in mind that x86's with GPUs are not the only platform of interest. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: GCC & OpenCL ?

2009-02-03 Thread Michael Meissner
some of the OpenCL language extensions, you won't be able to > run any real OpenCL apps. The OpenCL programming model fundamentally > requires runtime compilation and the kernel-manipulation library APIs > are a key part of that. Yes, but you need to get to the basic leve

Re: Machine description question

2009-02-07 Thread Michael Meissner
r instruction definition, if I use the first > solution (match_dup), the instruction that will calculate the > input/output operand 0 sometimes gets removed by the web pass. But if > I use the second solution (put a "0" constraint), then it is no longer > removed. Any idea why these two definitions would be treated > differently in the web pass? I don't know much about the web pass, however as I said, the two definitions are fundamentally different. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: Native support for vector shift

2009-02-24 Thread Michael Meissner
of machines. If the machine only has vector shift by a scalar, the auto vectorizer will not generate a vector shift for: for (i = 0; i < n; i++) a[i] = b[i] << c[i] Internally, the compiler uses the standard shift names for vector shift by a scalar (i.e. ashl, ashr, lshl

Re: Native support for vector shift

2009-02-24 Thread Michael Meissner
vector shift, preferably both types. > > Bingfeng It shouldn't be too hard to add the support. I suspect the person who did the initial support may have been on a machine without vector shifts. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: Matrix multiplication: performance drop

2009-03-03 Thread Michael Meissner
tance, this was one of the first links I found with looking for 'matrix multiple cache' http://www.cs.umd.edu/class/fall2001/cmsc411/proj01/cache/index.html -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: help for arm avr bfin cris frv h8300 m68k mcore mmix pdp11 rs6000 sh vax

2009-03-13 Thread Michael Meissner
ure). In particular, shifts done in the general purpose registers were not truncated, but vector shifts done in the SSE5 instructions were truncated (or vice versa). -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: question on 16 bit registers with 32 bit pointers

2009-04-13 Thread Michael Meissner
oad, and need to delve into the mysteries of secondary reload. I would imagine that for pointer sized things it is best if you do need to implement multiple instructions that you hold off on splitting until after reload is completed. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Please help me test the power7-meissner branch before I submit the changes

2009-04-30 Thread Michael Meissner
. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: opaque vector types?

2009-05-08 Thread Michael Meissner
I, RS6000_BTI_V16QI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_ABS, ALTIVEC_BUILTIN_ABS_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_ABS, ALTIVEC_BUILTIN_ABS_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0, 0 }, { ALTIVEC_BUILTIN_VEC_ABS, ALTIVEC_BUILTIN_ABS_V4SF, RS6000_BTI_V4SF, RS6000_B

Re: New GCC releases comparison and comparison of GCC4.4 and LLVM2.5 on SPEC2000

2009-05-13 Thread Michael Meissner
r the appropriate create a builtin function in external scope hook. However, that still leaves the compiler creating a lot of builtins that mostly aren't used. It may be useful to register names, and have a call back to create the builtin if the name is actually used. It certainly would e

Re: Extending constraints using register subclasses

2009-05-14 Thread Michael Meissner
LASS, then the compiler assumes each register class is unique, and it can't copy between them. I ran into this on the power7 support. On previous power machines, you have two classes of registers FLOAT_REGS and ALTIVEC_REGS (in addition to the GPRs and other registers), but the new VSX instruction set has a merged register set that both the traditional floating point registers and the altivec vector registers are a set of. I found I needed to have a different cover class for VSX using the VSX_REGS class which is the union of the two, and FLOAT_REGS, ALTIVEC_REGS for the pre-vsx code, and switch which is used in the ira_cover_classes target hook. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: Extending constraints using register subclasses

2009-05-14 Thread Michael Meissner
re. Yes, it was added in GCC 4.4. It might make sense to start the rebase to the current mainline (you will need to do it sooner or later, and it becomes more painful the further away the code is). -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: Seeking suggestion

2009-05-24 Thread Michael Meissner
e. > But now I get and invalid rtx sharing from the push/pop parallels: > > > .c: In function 'test_dashr': > .c:32: error: invalid rtl sharing found in the insn > (insn 26 3 28 2 .c:26 (parallel [ > (insn/f 25 0 0 (set (reg/f:SI 51 SP) > (minus:SI (reg/f:SI 51 SP) > (const_int 4 [0x4]))) -1 (nil)) > (set/f (mem:SI (reg/f:SI 51 SP) [0 S4 A8]) > (reg:SI 8 r8)) > ]) -1 (nil)) > .c:32: error: shared rtx > (insn/f 25 0 0 (set (reg/f:SI 51 SP) > (minus:SI (reg/f:SI 51 SP) > (const_int 4 [0x4]))) -1 (nil)) > .c:32: internal compiler error: internal consistency failure I suspect you don't have the proper guards on the push/pop insns, and the combiner is eliminating the clobber. You probably need to have parallel insns for the push and pop. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: Limiting the use of pointer registers

2009-05-24 Thread Michael Meissner
ibute so the programmer can > mark the pointer as non overlapping and push the problem onto them. > Something clever would be nice though :) Another place where the named address spaces stuff I worked on last year might be useful. > Sorry for all the questions - this is quite a difficult

Re: RFC: Option handling and PR 37565

2009-06-02 Thread Michael Meissner
ar, that I don't remember all of the details of why particular choices were made. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: Machine Description Template?

2009-06-12 Thread Michael Meissner
search for '.md' and there are tons of examples. > Although, I was curious if there was a generic template. Many years ago, I wrote a generic machine that was intended to be a template for this, but it quickly became out of date and useless. I'm not aware of a more modern versi

Re: Regressions with dwarf debugging

2009-06-14 Thread Michael Meissner
On Sat, Jun 13, 2009 at 08:14:36PM -0700, Steve Kargl wrote: > Someone has broken gfortran on FreeBSD with dwarf debugging. > This is a regression. Please fix! I just wrote a patch to fix this: http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01097.html -- Michael Meissner, IBM 4 Technology

Re: GCC and boehm-gc

2009-06-18 Thread Michael Meissner
for approval. I sent mail to the list Tom Tromey mentioned in the followup, but I haven't seen a reply yet. http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01094.html -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: Ping: New Toshiba Media Processor (mep-elf) port and maintainer

2009-06-18 Thread Michael Meissner
orts would be rejected for formatting in some of the files). I don't recall having any problems with the machine independent changes. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meiss...@linux.vnet.ibm.com

Re: Endianess attribute

2009-07-02 Thread Michael Meissner
int *__little bar = &foo; would declare bar to be a normal pointer, which points to a little endian item. The following would be illegal, since bletch and bar point to different named address spaces, and the backend says you can't convert them. int *bletch = bar; -- Michae

Re: Endianess attribute

2009-07-03 Thread Michael Meissner
On Thu, Jul 02, 2009 at 06:54:52PM -0400, Ken Raeburn wrote: > On Jul 2, 2009, at 16:44, Michael Meissner wrote: >> Anyway I had some time during the summit, and I decided to see how >> hard it >> would be to add explicit big/little endian support to the powerpc >> p

Re: Target macros vs. target hooks - policy/goal is hooks, isn't it?

2010-05-26 Thread Michael Meissner
et up the keywords. The target hook would have to duplicate the functionality of all of the setup that c_parse_init and init_reswords do, particularly if they have different semantics. -- Michael Meissner, IBM Until June 14: 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA A

Re: [patch] Remove TARGET_ADDR_SPACE_KEYWORDS target macro

2010-05-26 Thread Michael Meissner
something like a "register_target_extensions" callback > in targetcm, but that can probably be done in a separate patch. Note, many of the things done by REGISTER_TARGET_PRAGMAS deal with the preprocessor and keywords, which are used by the C-like front ends, but not used for Ada, For

Time to create wwwdocs/htdocs/gcc-4.6?

2010-06-02 Thread Michael Meissner
As I was about to check in the -mrecip changes for powerpc on GCC 4.6, I figured to get a start on documentation, and I was going to edit the gcc-4.6/changes.html file. I realize this is early in the cycle, but did we want to create the gcc-4.6 directory? -- Michael Meissner, IBM Until June 30

Re: Time to create wwwdocs/htdocs/gcc-4.6?

2010-06-03 Thread Michael Meissner
ools to convert cvs to svn (such as cvs2svn), but I haven't used them personally. http://svnbook.red-bean.com/en/1.0/apas11.html -- Michael Meissner, IBM Until June 30: 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA After June 30: 5 Technology Place Drive, MS 2757, Westford, MA 01886, USA meiss...@linux.vnet.ibm.com

Re: CALL_USED_REGISTERS per function basis

2010-08-18 Thread Michael Meissner
unction. This does the target_reinit and eventually reinit_regs. Now, unfortunately, I've been away from the code for about 2 years, and I don't know whether it has bit-rotted or not. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com

Re: CALL_USED_REGISTERS per function basis

2010-08-18 Thread Michael Meissner
On Wed, Aug 18, 2010 at 12:56:47PM -0700, Richard Henderson wrote: > On 08/18/2010 12:06 PM, Michael Meissner wrote: > > Now, unfortunately, I've been away from the code for about 2 years, and I > > don't > > know whether it has bit-rotted or not. > &g

Re: %pc relative addressing of string literals/const data

2010-10-07 Thread Michael Meissner
f the address happens to be defined in the current program unit (main program or shared librar), the linker can transform this to: addis ,r2,la...@toc@ha addi ,,la...@toc@l or: nop addi ,r2,la...@toc@l or: nop ld ,la...@got@l(r2) -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com

Re: %pc relative addressing of string literals/const data

2010-10-07 Thread Michael Meissner
by doing call to the next instruction to get the address in the LR. So, it isn't as simple as moving the the 64-bit stuff in 32-bit, since there are different assumptions. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com

Re: %pc relative addressing of string literals/const data

2010-10-21 Thread Michael Meissner
On Thu, Oct 21, 2010 at 08:17:51PM +0200, Gunther Nikl wrote: > Michael Meissner wrote: > > Note, the 64-bit ABI requires that r2 have the current function's GOT in it > > when the function is called, while the 32-bit ABI uses r2 as a small data > > pointer (and possibly

Re: define_split

2010-11-08 Thread Michael Meissner
4) (match_dup 3))) (set (match_dup 0) (match_dup 4))] "operands[4] = gen_rtx_REG (SFmode, ACC_REGISTER);") In the old days, define_split was only processed before each of the two scheduling passes if they were run and at the very end

Re: peephole2: dead regs not marked as dead

2010-11-08 Thread Michael Meissner
ill emit the special insn just if optimization is turned on, but nevertheless > it would be interesting to know why this works smooth with -O0 as I expected > to > run in unrecognizable insn or something like that during reload). In gcc/passes.c the split passes are always run and do not depend on the optimization flags, so yes, you can now rely on it with -O0. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com

Re: how much is the effort required to retarget gcc?

2010-11-08 Thread Michael Meissner
he assembler/linker/debugger/library. However, note that I have been working on GCC for quite some time, and have done at least 5 ports from scratch, so you probably don't want to use my time estimates :-) The more irregular/limited the machine is, the more it takes to get reasonable code gene

Re: UNITS_PER_SIMD_WORD

2010-11-08 Thread Michael Meissner
st is approved for builtin functions). -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com

Re: define_split

2010-11-09 Thread Michael Meissner
eg:SF 126) (reg:SF ACC_REGISTER))) So whether the passes in between combine and the split pass care, is a different question. I didn't recall that combine had this split feature. As I said, my preference is to create the insn, and then split it later. Note, you can only allocate new registers (either hard registers or pseudo registers) in the split passes before register allocation. You will get an error if you create a new register after reload. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com

Re: define_split

2010-11-09 Thread Michael Meissner
> No, it is a code quality problem. And yes, I have seen actual > SH patterns being recognized that were not wanted, and lead to worse > code overall. Generally you need to tighten the pattern conditions to make sure it doesn't match. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com

Re: Idea - big and little endian data areas using named address spaces

2010-11-11 Thread Michael Meissner
gave the talk on named address spaces I mentioned this, and during the summit last year, I made a toy demonstration set of patches in the PowerPC to add cross endian support. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com

Re: Method to disable code SSE2 generation but still use -msse2

2010-12-02 Thread Michael Meissner
mpiler also figure out vector operations by itself during the > optimization phase of compilation? If -msse2 is used on the command line or inside of a target attribute/pragma, the compiler feels free to use the sse2 instructions in any fashion, including when vectorizing. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com fax +1 (978) 399-6899

Re: [RS6000] strict alignment for little-endian

2013-06-10 Thread Michael Meissner
> > #define CC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_big)" > > > -- > Alan Modra > Australia Development Lab, IBM > -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Re: Why high vsr registers [vsr32 - vsr63] are not used when -mvsx is specified on powerpc?

2013-07-19 Thread Michael Meissner
or different registers. Unfortunately the first machines GCC originally targeted (68k, vax) had general addressing formats that worked everywhere, and later machines you knew for a given type what type of addressing could be used. In the PowerPC you don't want register+offset if you are target

Re: making sizeof(void*) different from sizeof(void(*)())

2012-05-17 Thread Michael Meissner
is no longer relevant. Another way to go is what we do in 64-bit powerpc -- function pointers are actually pointers to a 3 word descriptor, that contains the real function address, the value to load into the GOT pointer, and the value to load into the register holding the static chain. -- Michael

  1   2   >