Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!world!madd From: madd@world.std.com (jim frost) Newsgroups: comp.unix.aix Subject: Re: Rumour about IBM benchmarks Message-ID: <1990Sep21.192903.1620@world.std.com> Date: 21 Sep 90 19:29:03 GMT References: <1233@torsqnt.UUCP> <1990Sep14.215517.28056@world.std.com> <1990Sep17.233535.13111@groucho> <1990Sep20.175406.5596@alias.uucp> Organization: Saber Software Lines: 24 mherman@alias.UUCP (Michael Herman) writes: >Although I am less familiar with them, there are supposedly a number of >C library (i.e. zero terminated) string functions what have also been >implemented directly in the silicon. Sort of. There are a number of operations which act on multiple sequential registers which presumably contain a string. It's fast and easy to load a bunch of registers with a bunch of sequential bytes, act on them in the registers (often with instructions that work across sequential registers) then write back the bytes. Not exactly C string handling in silicon but it's not a lot of work to implement the C functions and they'll have good performance. XLC generates some interesting code when dealing with structures that uses the string load and store instructions. Even more interesting is that it often doesn't use the string instructions when it could (eg when saving the argument registers to the stack in a varargs function). Happy hacking, jim frost saber software jimf@saber.com