To get distribution from exec:
objdump --prefix-addresses --disassemble
/fusion/research3/simsnap/spec2k/gcc/exe/i686/gcc.static | awk '{print $3}'
| sort | uniq -c | sort -n -r > gcc.opcodes

valgrind --tool=cachegrind
pfmon -e INST_RETIRED

      instcount	     dataref
aaa   
adc   	ok
add	ok
and  	ok
bound
bsf
bsr
bswap
bt
btc
btr
bts
call	ok
cbw
cwde
cwd
cdq
clc
cld
cmc
cmov	!
cmp	ok
cmpxchg
cmpxchg8b
cpuid
daa
das
dec
div
enter
idiv
imul
in
inc
int
into
invd
invplg
jXX
jcx
jmp
lahf
ldds
ldes
ldfs
ldgs
ldss
lea
leave
loop
loope
loopne
mov   	ok
mul
neg	ok
not	ok
nop	ok
or	ok
out
pop	ok
popa	ok
popf
push	ok
pusha	ok
pushf
rcl
rcr
sahf
rdtsc
ret  	ok
rol
ror
sbb	ok
setcc
shl
shr
shld
shrd
stc
std
sub	ok
test	ok
xadd
xchg
xlat
xor 	ok


String:
cmpsb
cmpsw
cmpsd
ins*
lodsb
lodsw
lodsd
movsb
movsw
movsd
out*
scasb
rep
sto*

OS
arpl
cli
clts
hlt
iret
lar
ldgt
lidt
lldt
lmsw
lsl
ltr
rdmsr
rdpmc
rdshr
rsdc
rsldt
rsm
rsts
sal
sar
sbb
sgdt
sidt
sldt
smi
smint*
smsw
sti
str
svdc
svldt
svts
syscall
sysenter
sysexit
sysret
verr
wbinvd
wrmsr
wrshr



floating point
f2xm1
fabs
fadd
faddp
fbld
fbstp
fchs
fclex
fnclex
fcmovXX
fcom*
fcos
fdecstp
fXdisi
fXeni
fdiv*
ffree
fiadd
ficom*
fidiv*
fild
fist*
fimul
fincstp
finit
fisub
fld
fldXX
fldcw
fldenv
fmul*
fnop
fptan
fpatan
fprem
fprem1
frndint
fsave
frstor
fscale
fsetpm
fsin
fsincos
fsqrt
fst*
fstcw
fstenv
fstsw
fsub*
ftst
fucom*
fxam
fxch
fxrstor
fxsave
fxtract
fyl2x*
wait

MMX/SSE
addpd
addps
addsd
addss
andnpd
andnps
andpd
andps
clflush
cmpXXpd
cmpXXps
cmpXXsd
cmpXXss
comisd
comiss
cvtdq2pd
cvtdq2ps
cvtpd2dq
cvtpd2pi
cvtpd2ps
cvtpi2pd
cvtpi2ps
cvtps2dq
cvtps2pd
cvtps2pi
cvtds2si
cvtds2ss
cvtsd2ss
cvtsi2sd
cvtsi2ss
cvtss2sd
cvtss2si
cvttpd2dq
cvttpd2pi
cvttps2dq
cvttps2pi
cvttsd2si
cvttss2si
divpd
divps
divsd
divss
emms
femms
ldmxcsr
lfence
maskmovdqu
maskmovq
maxpd
maxps
maxsd
maxss
mfence
minpd
minps
minsd
minss
movapd
movaps
movd
movdq2q
movdqa
movdqu
movhlps
movhpd
movhps
movlhps
movlpd
movlps
movmskpd
movmskps
movntdq
movnti
movntpd
movntps
movntq
movq
movq2dq
movsd
movss
movsx
movzx
movupd
movups
mulpd
mulps
mulsd
mulss
orpd
orps
packss*
padd*
pand*
pause
pav*
pcmp*
pdist*
pextrw
pf2id
pf2iw
pfacc
pfadd
pfcmp*
pfmax
pfmin
pfmul
pfnacc
pfpnacc
pfrcp*
pfrsq*
pfsub*
pi2fd
pf2iw
pinsrw
pmachriw
pmadd*
pmagw*
pmaxsw*
pmaxub
pmin*
pmov*
pmul*
pmv*
por
prefetch
psadbw
pshuf*
psll*
psra*
psub*
pswap*
punpck*
pxor
rcpps
rcpss
rsqrt
sfence
shuf*
sqrt*
stmxcsr
sub*
uco*
unpck*
xor*
