# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s
# RUN: llvm-mc --disassemble %s -triple=i686-apple-darwin9 | FileCheck %s

# CHECK: fadd %st(0), %st
0xd8,0xc0

# CHECK: fadd %st(1), %st
0xd8,0xc1

# CHECK: fadd %st(2), %st
0xd8,0xc2

# CHECK: fadd %st(3), %st
0xd8,0xc3

# CHECK: fadd %st(4), %st
0xd8,0xc4

# CHECK: fadd %st(5), %st
0xd8,0xc5

# CHECK: fadd %st(6), %st
0xd8,0xc6

# CHECK: fadd %st(7), %st
0xd8,0xc7

# CHECK: fmul %st(0), %st
0xd8,0xc8

# CHECK: fmul %st(1), %st
0xd8,0xc9

# CHECK: fmul %st(2), %st
0xd8,0xca

# CHECK: fmul %st(3), %st
0xd8,0xcb

# CHECK: fmul %st(4), %st
0xd8,0xcc

# CHECK: fmul %st(5), %st
0xd8,0xcd

# CHECK: fmul %st(6), %st
0xd8,0xce

# CHECK: fmul %st(7), %st
0xd8,0xcf

# CHECK: fcom %st(0)
0xd8,0xd0

# CHECK: fcom %st(1)
0xd8,0xd1

# CHECK: fcom %st(2)
0xd8,0xd2

# CHECK: fcom %st(3)
0xd8,0xd3

# CHECK: fcom %st(4)
0xd8,0xd4

# CHECK: fcom %st(5)
0xd8,0xd5

# CHECK: fcom %st(6)
0xd8,0xd6

# CHECK: fcom %st(7)
0xd8,0xd7

# CHECK: fcomp %st(0)
0xd8,0xd8

# CHECK: fcomp %st(1)
0xd8,0xd9

# CHECK: fcomp %st(2)
0xd8,0xda

# CHECK: fcomp %st(3)
0xd8,0xdb

# CHECK: fcomp %st(4)
0xd8,0xdc

# CHECK: fcomp %st(5)
0xd8,0xdd

# CHECK: fcomp %st(6)
0xd8,0xde

# CHECK: fcomp %st(7)
0xd8,0xdf

# CHECK: fsub %st(0), %st
0xd8,0xe0

# CHECK: fsub %st(1), %st
0xd8,0xe1

# CHECK: fsub %st(2), %st
0xd8,0xe2

# CHECK: fsub %st(3), %st
0xd8,0xe3

# CHECK: fsub %st(4), %st
0xd8,0xe4

# CHECK: fsub %st(5), %st
0xd8,0xe5

# CHECK: fsub %st(6), %st
0xd8,0xe6

# CHECK: fsub %st(7), %st
0xd8,0xe7

# CHECK: fsubr %st(0), %st
0xd8,0xe8

# CHECK: fsubr %st(1), %st
0xd8,0xe9

# CHECK: fsubr %st(2), %st
0xd8,0xea

# CHECK: fsubr %st(3), %st
0xd8,0xeb

# CHECK: fsubr %st(4), %st
0xd8,0xec

# CHECK: fsubr %st(5), %st
0xd8,0xed

# CHECK: fsubr %st(6), %st
0xd8,0xee

# CHECK: fsubr %st(7), %st
0xd8,0xef

# CHECK: fdiv %st(0), %st
0xd8,0xf0

# CHECK: fdiv %st(1), %st
0xd8,0xf1

# CHECK: fdiv %st(2), %st
0xd8,0xf2

# CHECK: fdiv %st(3), %st
0xd8,0xf3

# CHECK: fdiv %st(4), %st
0xd8,0xf4

# CHECK: fdiv %st(5), %st
0xd8,0xf5

# CHECK: fdiv %st(6), %st
0xd8,0xf6

# CHECK: fdiv %st(7), %st
0xd8,0xf7

# CHECK: fdivr %st(0), %st
0xd8,0xf8

# CHECK: fdivr %st(1), %st
0xd8,0xf9

# CHECK: fdivr %st(2), %st
0xd8,0xfa

# CHECK: fdivr %st(3), %st
0xd8,0xfb

# CHECK: fdivr %st(4), %st
0xd8,0xfc

# CHECK: fdivr %st(5), %st
0xd8,0xfd

# CHECK: fdivr %st(6), %st
0xd8,0xfe

# CHECK: fdivr %st(7), %st
0xd8,0xff

# CHECK: fld %st(0)
0xd9,0xc0

# CHECK: fld %st(1)
0xd9,0xc1

# CHECK: fld %st(2)
0xd9,0xc2

# CHECK: fld %st(3)
0xd9,0xc3

# CHECK: fld %st(4)
0xd9,0xc4

# CHECK: fld %st(5)
0xd9,0xc5

# CHECK: fld %st(6)
0xd9,0xc6

# CHECK: fld %st(7)
0xd9,0xc7

# CHECK: fxch %st(0)
0xd9,0xc8

# CHECK: fxch %st(1)
0xd9,0xc9

# CHECK: fxch %st(2)
0xd9,0xca

# CHECK: fxch %st(3)
0xd9,0xcb

# CHECK: fxch %st(4)
0xd9,0xcc

# CHECK: fxch %st(5)
0xd9,0xcd

# CHECK: fxch %st(6)
0xd9,0xce

# CHECK: fxch %st(7)
0xd9,0xcf

# CHECK: fnop
0xd9,0xd0

# CHECK: fchs
0xd9,0xe0

# CHECK: fabs
0xd9,0xe1

# CHECK: ftst
0xd9,0xe4

# CHECK: fxam
0xd9,0xe5

# CHECK: fld1
0xd9,0xe8

# CHECK: fldl2t
0xd9,0xe9

# CHECK: fldl2e
0xd9,0xea

# CHECK: fldpi
0xd9,0xeb

# CHECK: fldlg2
0xd9,0xec

# CHECK: fldln2
0xd9,0xed

# CHECK: fldz
0xd9,0xee

# CHECK: f2xm1
0xd9,0xf0

# CHECK: fyl2x
0xd9,0xf1

# CHECK: fptan
0xd9,0xf2

# CHECK: fpatan
0xd9,0xf3

# CHECK: fxtract
0xd9,0xf4

# CHECK: fprem1
0xd9,0xf5

# CHECK: fdecstp
0xd9,0xf6

# CHECK: fincstp
0xd9,0xf7

# CHECK: fprem
0xd9,0xf8

# CHECK: fyl2xp1
0xd9,0xf9

# CHECK: fsqrt
0xd9,0xfa

# CHECK: fsincos
0xd9,0xfb

# CHECK: frndint
0xd9,0xfc

# CHECK: fscale
0xd9,0xfd

# CHECK: fsin
0xd9,0xfe

# CHECK: fcos
0xd9,0xff

# CHECK: fcmovb %st(0), %st
0xda,0xc0

# CHECK: fcmovb %st(1), %st
0xda,0xc1

# CHECK: fcmovb %st(2), %st
0xda,0xc2

# CHECK: fcmovb %st(3), %st
0xda,0xc3

# CHECK: fcmovb %st(4), %st
0xda,0xc4

# CHECK: fcmovb %st(5), %st
0xda,0xc5

# CHECK: fcmovb %st(6), %st
0xda,0xc6

# CHECK: fcmovb %st(7), %st
0xda,0xc7

# CHECK: fcmove %st(0), %st
0xda,0xc8

# CHECK: fcmove %st(1), %st
0xda,0xc9

# CHECK: fcmove %st(2), %st
0xda,0xca

# CHECK: fcmove %st(3), %st
0xda,0xcb

# CHECK: fcmove %st(4), %st
0xda,0xcc

# CHECK: fcmove %st(5), %st
0xda,0xcd

# CHECK: fcmove %st(6), %st
0xda,0xce

# CHECK: fcmove %st(7), %st
0xda,0xcf

# CHECK: fcmovbe %st(0), %st
0xda,0xd0

# CHECK: fcmovbe %st(1), %st
0xda,0xd1

# CHECK: fcmovbe %st(2), %st
0xda,0xd2

# CHECK: fcmovbe %st(3), %st
0xda,0xd3

# CHECK: fcmovbe %st(4), %st
0xda,0xd4

# CHECK: fcmovbe %st(5), %st
0xda,0xd5

# CHECK: fcmovbe %st(6), %st
0xda,0xd6

# CHECK: fcmovbe %st(7), %st
0xda,0xd7

# CHECK: fcmovu %st(0), %st
0xda,0xd8

# CHECK: fcmovu %st(1), %st
0xda,0xd9

# CHECK: fcmovu %st(2), %st
0xda,0xda

# CHECK: fcmovu %st(3), %st
0xda,0xdb

# CHECK: fcmovu %st(4), %st
0xda,0xdc

# CHECK: fcmovu %st(5), %st
0xda,0xdd

# CHECK: fcmovu %st(6), %st
0xda,0xde

# CHECK: fcmovu %st(7), %st
0xda,0xdf

# CHECK: fucompp
0xda,0xe9

# CHECK: fcmovnb %st(0), %st
0xdb,0xc0

# CHECK: fcmovnb %st(1), %st
0xdb,0xc1

# CHECK: fcmovnb %st(2), %st
0xdb,0xc2

# CHECK: fcmovnb %st(3), %st
0xdb,0xc3

# CHECK: fcmovnb %st(4), %st
0xdb,0xc4

# CHECK: fcmovnb %st(5), %st
0xdb,0xc5

# CHECK: fcmovnb %st(6), %st
0xdb,0xc6

# CHECK: fcmovnb %st(7), %st
0xdb,0xc7

# CHECK: fcmovne %st(0), %st
0xdb,0xc8

# CHECK: fcmovne %st(1), %st
0xdb,0xc9

# CHECK: fcmovne %st(2), %st
0xdb,0xca

# CHECK: fcmovne %st(3), %st
0xdb,0xcb

# CHECK: fcmovne %st(4), %st
0xdb,0xcc

# CHECK: fcmovne %st(5), %st
0xdb,0xcd

# CHECK: fcmovne %st(6), %st
0xdb,0xce

# CHECK: fcmovne %st(7), %st
0xdb,0xcf

# CHECK: fcmovnbe %st(0), %st
0xdb,0xd0

# CHECK: fcmovnbe %st(1), %st
0xdb,0xd1

# CHECK: fcmovnbe %st(2), %st
0xdb,0xd2

# CHECK: fcmovnbe %st(3), %st
0xdb,0xd3

# CHECK: fcmovnbe %st(4), %st
0xdb,0xd4

# CHECK: fcmovnbe %st(5), %st
0xdb,0xd5

# CHECK: fcmovnbe %st(6), %st
0xdb,0xd6

# CHECK: fcmovnbe %st(7), %st
0xdb,0xd7

# CHECK: fcmovnu %st(0), %st
0xdb,0xd8

# CHECK: fcmovnu %st(1), %st
0xdb,0xd9

# CHECK: fcmovnu %st(2), %st
0xdb,0xda

# CHECK: fcmovnu %st(3), %st
0xdb,0xdb

# CHECK: fcmovnu %st(4), %st
0xdb,0xdc

# CHECK: fcmovnu %st(5), %st
0xdb,0xdd

# CHECK: fcmovnu %st(6), %st
0xdb,0xde

# CHECK: fcmovnu %st(7), %st
0xdb,0xdf

# CHECK: fnclex
0xdb,0xe2

# CHECK: fninit
0xdb,0xe3

# CHECK: fucomi %st(0)
0xdb,0xe8

# CHECK: fucomi %st(1)
0xdb,0xe9

# CHECK: fucomi %st(2)
0xdb,0xea

# CHECK: fucomi %st(3)
0xdb,0xeb

# CHECK: fucomi %st(4)
0xdb,0xec

# CHECK: fucomi %st(5)
0xdb,0xed

# CHECK: fucomi %st(6)
0xdb,0xee

# CHECK: fucomi %st(7)
0xdb,0xef

# CHECK: fcomi %st(0)
0xdb,0xf0

# CHECK: fcomi %st(1)
0xdb,0xf1

# CHECK: fcomi %st(2)
0xdb,0xf2

# CHECK: fcomi %st(3)
0xdb,0xf3

# CHECK: fcomi %st(4)
0xdb,0xf4

# CHECK: fcomi %st(5)
0xdb,0xf5

# CHECK: fcomi %st(6)
0xdb,0xf6

# CHECK: fcomi %st(7)
0xdb,0xf7

# CHECK: fadd %st, %st(0)
0xdc,0xc0

# CHECK: fadd %st, %st(1)
0xdc,0xc1

# CHECK: fadd %st, %st(2)
0xdc,0xc2

# CHECK: fadd %st, %st(3)
0xdc,0xc3

# CHECK: fadd %st, %st(4)
0xdc,0xc4

# CHECK: fadd %st, %st(5)
0xdc,0xc5

# CHECK: fadd %st, %st(6)
0xdc,0xc6

# CHECK: fadd %st, %st(7)
0xdc,0xc7

# CHECK: fmul %st, %st(0)
0xdc,0xc8

# CHECK: fmul %st, %st(1)
0xdc,0xc9

# CHECK: fmul %st, %st(2)
0xdc,0xca

# CHECK: fmul %st, %st(3)
0xdc,0xcb

# CHECK: fmul %st, %st(4)
0xdc,0xcc

# CHECK: fmul %st, %st(5)
0xdc,0xcd

# CHECK: fmul %st, %st(6)
0xdc,0xce

# CHECK: fmul %st, %st(7)
0xdc,0xcf

# CHECK: fsub %st, %st(0)
0xdc,0xe0

# CHECK: fsub %st, %st(1)
0xdc,0xe1

# CHECK: fsub %st, %st(2)
0xdc,0xe2

# CHECK: fsub %st, %st(3)
0xdc,0xe3

# CHECK: fsub %st, %st(4)
0xdc,0xe4

# CHECK: fsub %st, %st(5)
0xdc,0xe5

# CHECK: fsub %st, %st(6)
0xdc,0xe6

# CHECK: fsub %st, %st(7)
0xdc,0xe7

# CHECK: fsubr %st, %st(0)
0xdc,0xe8

# CHECK: fsubr %st, %st(1)
0xdc,0xe9

# CHECK: fsubr %st, %st(2)
0xdc,0xea

# CHECK: fsubr %st, %st(3)
0xdc,0xeb

# CHECK: fsubr %st, %st(4)
0xdc,0xec

# CHECK: fsubr %st, %st(5)
0xdc,0xed

# CHECK: fsubr %st, %st(6)
0xdc,0xee

# CHECK: fsubr %st, %st(7)
0xdc,0xef

# CHECK: fdiv %st, %st(0)
0xdc,0xf0

# CHECK: fdiv %st, %st(1)
0xdc,0xf1

# CHECK: fdiv %st, %st(2)
0xdc,0xf2

# CHECK: fdiv %st, %st(3)
0xdc,0xf3

# CHECK: fdiv %st, %st(4)
0xdc,0xf4

# CHECK: fdiv %st, %st(5)
0xdc,0xf5

# CHECK: fdiv %st, %st(6)
0xdc,0xf6

# CHECK: fdiv %st, %st(7)
0xdc,0xf7

# CHECK: fdivr %st, %st(0)
0xdc,0xf8

# CHECK: fdivr %st, %st(1)
0xdc,0xf9

# CHECK: fdivr %st, %st(2)
0xdc,0xfa

# CHECK: fdivr %st, %st(3)
0xdc,0xfb

# CHECK: fdivr %st, %st(4)
0xdc,0xfc

# CHECK: fdivr %st, %st(5)
0xdc,0xfd

# CHECK: fdivr %st, %st(6)
0xdc,0xfe

# CHECK: fdivr %st, %st(7)
0xdc,0xff

# CHECK: ffree %st(0)
0xdd,0xc0

# CHECK: ffree %st(1)
0xdd,0xc1

# CHECK: ffree %st(2)
0xdd,0xc2

# CHECK: ffree %st(3)
0xdd,0xc3

# CHECK: ffree %st(4)
0xdd,0xc4

# CHECK: ffree %st(5)
0xdd,0xc5

# CHECK: ffree %st(6)
0xdd,0xc6

# CHECK: ffree %st(7)
0xdd,0xc7

# CHECK: fst %st(0)
0xdd,0xd0

# CHECK: fst %st(1)
0xdd,0xd1

# CHECK: fst %st(2)
0xdd,0xd2

# CHECK: fst %st(3)
0xdd,0xd3

# CHECK: fst %st(4)
0xdd,0xd4

# CHECK: fst %st(5)
0xdd,0xd5

# CHECK: fst %st(6)
0xdd,0xd6

# CHECK: fst %st(7)
0xdd,0xd7

# CHECK: fstp %st(0)
0xdd,0xd8

# CHECK: fstp %st(1)
0xdd,0xd9

# CHECK: fstp %st(2)
0xdd,0xda

# CHECK: fstp %st(3)
0xdd,0xdb

# CHECK: fstp %st(4)
0xdd,0xdc

# CHECK: fstp %st(5)
0xdd,0xdd

# CHECK: fstp %st(6)
0xdd,0xde

# CHECK: fstp %st(7)
0xdd,0xdf

# CHECK: fucom %st(0)
0xdd,0xe0

# CHECK: fucom %st(1)
0xdd,0xe1

# CHECK: fucom %st(2)
0xdd,0xe2

# CHECK: fucom %st(3)
0xdd,0xe3

# CHECK: fucom %st(4)
0xdd,0xe4

# CHECK: fucom %st(5)
0xdd,0xe5

# CHECK: fucom %st(6)
0xdd,0xe6

# CHECK: fucom %st(7)
0xdd,0xe7

# CHECK: fucomp %st(0)
0xdd,0xe8

# CHECK: fucomp %st(1)
0xdd,0xe9

# CHECK: fucomp %st(2)
0xdd,0xea

# CHECK: fucomp %st(3)
0xdd,0xeb

# CHECK: fucomp %st(4)
0xdd,0xec

# CHECK: fucomp %st(5)
0xdd,0xed

# CHECK: fucomp %st(6)
0xdd,0xee

# CHECK: fucomp %st(7)
0xdd,0xef

# CHECK: faddp %st, %st(0)
0xde,0xc0

# CHECK: faddp %st, %st(1)
0xde,0xc1

# CHECK: faddp %st, %st(2)
0xde,0xc2

# CHECK: faddp %st, %st(3)
0xde,0xc3

# CHECK: faddp %st, %st(4)
0xde,0xc4

# CHECK: faddp %st, %st(5)
0xde,0xc5

# CHECK: faddp %st, %st(6)
0xde,0xc6

# CHECK: faddp %st, %st(7)
0xde,0xc7

# CHECK: fmulp %st, %st(0)
0xde,0xc8

# CHECK: fmulp %st, %st(1)
0xde,0xc9

# CHECK: fmulp %st, %st(2)
0xde,0xca

# CHECK: fmulp %st, %st(3)
0xde,0xcb

# CHECK: fmulp %st, %st(4)
0xde,0xcc

# CHECK: fmulp %st, %st(5)
0xde,0xcd

# CHECK: fmulp %st, %st(6)
0xde,0xce

# CHECK: fmulp %st, %st(7)
0xde,0xcf

# CHECK: fcompp
0xde,0xd9

# CHECK: fsubp %st, %st(0)
0xde,0xe0

# CHECK: fsubp %st, %st(1)
0xde,0xe1

# CHECK: fsubp %st, %st(2)
0xde,0xe2

# CHECK: fsubp %st, %st(3)
0xde,0xe3

# CHECK: fsubp %st, %st(4)
0xde,0xe4

# CHECK: fsubp %st, %st(5)
0xde,0xe5

# CHECK: fsubp %st, %st(6)
0xde,0xe6

# CHECK: fsubp %st, %st(7)
0xde,0xe7

# CHECK: fsubrp %st, %st(0)
0xde,0xe8

# CHECK: fsubrp %st, %st(1)
0xde,0xe9

# CHECK: fsubrp %st, %st(2)
0xde,0xea

# CHECK: fsubrp %st, %st(3)
0xde,0xeb

# CHECK: fsubrp %st, %st(4)
0xde,0xec

# CHECK: fsubrp %st, %st(5)
0xde,0xed

# CHECK: fsubrp %st, %st(6)
0xde,0xee

# CHECK: fsubrp %st, %st(7)
0xde,0xef

# CHECK: fdivp %st, %st(0)
0xde,0xf0

# CHECK: fdivp %st, %st(1)
0xde,0xf1

# CHECK: fdivp %st, %st(2)
0xde,0xf2

# CHECK: fdivp %st, %st(3)
0xde,0xf3

# CHECK: fdivp %st, %st(4)
0xde,0xf4

# CHECK: fdivp %st, %st(5)
0xde,0xf5

# CHECK: fdivp %st, %st(6)
0xde,0xf6

# CHECK: fdivp %st, %st(7)
0xde,0xf7

# CHECK: fdivrp %st, %st(0)
0xde,0xf8

# CHECK: fdivrp %st, %st(1)
0xde,0xf9

# CHECK: fdivrp %st, %st(2)
0xde,0xfa

# CHECK: fdivrp %st, %st(3)
0xde,0xfb

# CHECK: fdivrp %st, %st(4)
0xde,0xfc

# CHECK: fdivrp %st, %st(5)
0xde,0xfd

# CHECK: fdivrp %st, %st(6)
0xde,0xfe

# CHECK: fdivrp %st, %st(7)
0xde,0xff

# CHECK: ffreep %st(0)
0xdf,0xc0

# CHECK: ffreep %st(1)
0xdf,0xc1

# CHECK: ffreep %st(2)
0xdf,0xc2

# CHECK: ffreep %st(3)
0xdf,0xc3

# CHECK: ffreep %st(4)
0xdf,0xc4

# CHECK: ffreep %st(5)
0xdf,0xc5

# CHECK: ffreep %st(6)
0xdf,0xc6

# CHECK: ffreep %st(7)
0xdf,0xc7

# CHECK: fnstsw %ax
0xdf,0xe0

# CHECK: fucompi %st(0)
0xdf,0xe8

# CHECK: fucompi %st(1)
0xdf,0xe9

# CHECK: fucompi %st(2)
0xdf,0xea

# CHECK: fucompi %st(3)
0xdf,0xeb

# CHECK: fucompi %st(4)
0xdf,0xec

# CHECK: fucompi %st(5)
0xdf,0xed

# CHECK: fucompi %st(6)
0xdf,0xee

# CHECK: fucompi %st(7)
0xdf,0xef

# CHECK: fcompi %st(0)
0xdf,0xf0

# CHECK: fcompi %st(1)
0xdf,0xf1

# CHECK: fcompi %st(2)
0xdf,0xf2

# CHECK: fcompi %st(3)
0xdf,0xf3

# CHECK: fcompi %st(4)
0xdf,0xf4

# CHECK: fcompi %st(5)
0xdf,0xf5

# CHECK: fcompi %st(6)
0xdf,0xf6

# CHECK: fcompi %st(7)
0xdf,0xf7
