Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
7cbe9bb7
Commit
7cbe9bb7
authored
Jan 12, 2002
by
Richard Henderson
Committed by
Richard Henderson
Jan 12, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* doc/invoke.texi: Update i386 built-in function lists.
From-SVN: r48806
parent
9d560860
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
178 additions
and
316 deletions
+178
-316
gcc/ChangeLog
+4
-0
gcc/doc/invoke.texi
+174
-316
No files found.
gcc/ChangeLog
View file @
7cbe9bb7
2002-01-12 Richard Henderson <rth@redhat.com>
* doc/invoke.texi: Update i386 built-in function lists.
Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
* unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
...
...
gcc/doc/invoke.texi
View file @
7cbe9bb7
...
...
@@ -7744,298 +7744,150 @@ integers, these use @code{V4SI}. Finally, some instructions operate on an
entire
vector
register
,
interpreting
it
as
a
128
bit
integer
,
these
use
mode
@
code
{
TI
}.
The
following
built
-
in
functions
are
made
available
by
@
option
{-
mmmx
}:
@
table
@
code
@
item
v8qi
__builtin_ia32_paddb
(
v8qi
,
v8qi
)
Generates
the
@
code
{
paddb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_paddw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
paddw
}
machine
instruction
.
@
item
v2si
__builtin_ia32_paddd
(
v2si
,
v2si
)
Generates
the
@
code
{
paddd
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_psubb
(
v8qi
,
v8qi
)
Generates
the
@
code
{
psubb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_psubw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
psubw
}
machine
instruction
.
@
item
v2si
__builtin_ia32_psubd
(
v2si
,
v2si
)
Generates
the
@
code
{
psubd
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_paddsb
(
v8qi
,
v8qi
)
Generates
the
@
code
{
paddsb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_paddsw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
paddsw
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_psubsb
(
v8qi
,
v8qi
)
Generates
the
@
code
{
psubsb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_psubsw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
psubsw
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_paddusb
(
v8qi
,
v8qi
)
Generates
the
@
code
{
paddusb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_paddusw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
paddusw
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_psubusb
(
v8qi
,
v8qi
)
Generates
the
@
code
{
psubusb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_psubusw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
psubusw
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_pmullw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
pmullw
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_pmulhw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
pmulhw
}
machine
instruction
.
@
item
di
__builtin_ia32_pand
(
di
,
di
)
Generates
the
@
code
{
pand
}
machine
instruction
.
@
item
di
__builtin_ia32_pandn
(
di
,
di
)
Generates
the
@
code
{
pandn
}
machine
instruction
.
@
item
di
__builtin_ia32_por
(
di
,
di
)
Generates
the
@
code
{
por
}
machine
instruction
.
@
item
di
__builtin_ia32_pxor
(
di
,
di
)
Generates
the
@
code
{
pxor
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_pcmpeqb
(
v8qi
,
v8qi
)
Generates
the
@
code
{
pcmpeqb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_pcmpeqw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
pcmpeqw
}
machine
instruction
.
@
item
v2si
__builtin_ia32_pcmpeqd
(
v2si
,
v2si
)
Generates
the
@
code
{
pcmpeqd
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_pcmpgtb
(
v8qi
,
v8qi
)
Generates
the
@
code
{
pcmpgtb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_pcmpgtw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
pcmpgtw
}
machine
instruction
.
@
item
v2si
__builtin_ia32_pcmpgtd
(
v2si
,
v2si
)
Generates
the
@
code
{
pcmpgtd
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_punpckhbw
(
v8qi
,
v8qi
)
Generates
the
@
code
{
punpckhbw
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_punpckhwd
(
v4hi
,
v4hi
)
Generates
the
@
code
{
punpckhwd
}
machine
instruction
.
@
item
v2si
__builtin_ia32_punpckhdq
(
v2si
,
v2si
)
Generates
the
@
code
{
punpckhdq
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_punpcklbw
(
v8qi
,
v8qi
)
Generates
the
@
code
{
punpcklbw
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_punpcklwd
(
v4hi
,
v4hi
)
Generates
the
@
code
{
punpcklwd
}
machine
instruction
.
@
item
v2si
__builtin_ia32_punpckldq
(
v2si
,
v2si
)
Generates
the
@
code
{
punpckldq
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_packsswb
(
v4hi
,
v4hi
)
Generates
the
@
code
{
packsswb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_packssdw
(
v2si
,
v2si
)
Generates
the
@
code
{
packssdw
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_packuswb
(
v4hi
,
v4hi
)
Generates
the
@
code
{
packuswb
}
machine
instruction
.
The
following
built
-
in
functions
are
made
available
by
@
option
{-
mmmx
}.
All
of
them
generate
the
machine
instruction
that
is
part
of
the
name
.
@
end
table
@
example
v8qi
__builtin_ia32_paddb
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_paddw
(
v4hi
,
v4hi
)
v2si
__builtin_ia32_paddd
(
v2si
,
v2si
)
v8qi
__builtin_ia32_psubb
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_psubw
(
v4hi
,
v4hi
)
v2si
__builtin_ia32_psubd
(
v2si
,
v2si
)
v8qi
__builtin_ia32_paddsb
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_paddsw
(
v4hi
,
v4hi
)
v8qi
__builtin_ia32_psubsb
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_psubsw
(
v4hi
,
v4hi
)
v8qi
__builtin_ia32_paddusb
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_paddusw
(
v4hi
,
v4hi
)
v8qi
__builtin_ia32_psubusb
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_psubusw
(
v4hi
,
v4hi
)
v4hi
__builtin_ia32_pmullw
(
v4hi
,
v4hi
)
v4hi
__builtin_ia32_pmulhw
(
v4hi
,
v4hi
)
di
__builtin_ia32_pand
(
di
,
di
)
di
__builtin_ia32_pandn
(
di
,
di
)
di
__builtin_ia32_por
(
di
,
di
)
di
__builtin_ia32_pxor
(
di
,
di
)
v8qi
__builtin_ia32_pcmpeqb
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_pcmpeqw
(
v4hi
,
v4hi
)
v2si
__builtin_ia32_pcmpeqd
(
v2si
,
v2si
)
v8qi
__builtin_ia32_pcmpgtb
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_pcmpgtw
(
v4hi
,
v4hi
)
v2si
__builtin_ia32_pcmpgtd
(
v2si
,
v2si
)
v8qi
__builtin_ia32_punpckhbw
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_punpckhwd
(
v4hi
,
v4hi
)
v2si
__builtin_ia32_punpckhdq
(
v2si
,
v2si
)
v8qi
__builtin_ia32_punpcklbw
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_punpcklwd
(
v4hi
,
v4hi
)
v2si
__builtin_ia32_punpckldq
(
v2si
,
v2si
)
v8qi
__builtin_ia32_packsswb
(
v4hi
,
v4hi
)
v4hi
__builtin_ia32_packssdw
(
v2si
,
v2si
)
v8qi
__builtin_ia32_packuswb
(
v4hi
,
v4hi
)
@
end
example
The
following
built
-
in
functions
are
made
available
either
with
@
option
{-
msse
},
or
with
a
combination
of
@
option
{-
m3dnow
}
and
@
option
{-
march
=
athlon
}.
@
table
@
code
The
following
built
-
in
functions
are
made
available
either
with
@
option
{-
msse
},
or
with
a
combination
of
@
option
{-
m3dnow
}
and
@
option
{-
march
=
athlon
}.
All
of
them
generate
the
machine
instruction
that
is
part
of
the
name
.
@
example
v4hi
__builtin_ia32_pmulhuw
(
v4hi
,
v4hi
)
v8qi
__builtin_ia32_pavgb
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_pavgw
(
v4hi
,
v4hi
)
v4hi
__builtin_ia32_psadbw
(
v8qi
,
v8qi
)
v8qi
__builtin_ia32_pmaxub
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_pmaxsw
(
v4hi
,
v4hi
)
v8qi
__builtin_ia32_pminub
(
v8qi
,
v8qi
)
v4hi
__builtin_ia32_pminsw
(
v4hi
,
v4hi
)
int
__builtin_ia32_pextrw
(
v4hi
,
int
)
v4hi
__builtin_ia32_pinsrw
(
v4hi
,
int
,
int
)
int
__builtin_ia32_pmovmskb
(
v8qi
)
void
__builtin_ia32_maskmovq
(
v8qi
,
v8qi
,
char
*)
void
__builtin_ia32_movntq
(
di
*,
di
)
void
__builtin_ia32_sfence
(
void
)
@
end
example
@
item
v4hi
__builtin_ia32_pmulhuw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
pmulhuw
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_pavgb
(
v8qi
,
v8qi
)
Generates
the
@
code
{
pavgb
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_pavgw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
pavgw
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_psadbw
(
v8qi
,
v8qi
)
Generates
the
@
code
{
psadbw
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_pmaxub
(
v8qi
,
v8qi
)
Generates
the
@
code
{
pmaxub
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_pmaxsw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
pmaxsw
}
machine
instruction
.
@
item
v8qi
__builtin_ia32_pminub
(
v8qi
,
v8qi
)
Generates
the
@
code
{
pminub
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_pminsw
(
v4hi
,
v4hi
)
Generates
the
@
code
{
pminsw
}
machine
instruction
.
@
item
int
__builtin_ia32_pextrw
(
v4hi
,
int
)
Generates
the
@
code
{
pextrw
}
machine
instruction
.
@
item
v4hi
__builtin_ia32_pinsrw
(
v4hi
,
int
,
int
)
Generates
the
@
code
{
pinsrw
}
machine
instruction
.
@
item
int
__builtin_ia32_pmovmskb
(
v8qi
)
Generates
the
@
code
{
pmovmskb
}
machine
instruction
.
@
item
void
__builtin_ia32_maskmovq
(
v8qi
,
v8qi
,
char
*)
Generates
the
@
code
{
maskmovq
}
machine
instruction
.
@
item
void
__builtin_ia32_movntq
(
di
*,
di
)
Generates
the
@
code
{
movntq
}
machine
instruction
.
@
item
void
__builtin_ia32_sfence
(
void
)
Generates
the
@
code
{
sfence
}
machine
instruction
.
@
item
void
__builtin_ia32_prefetch
(
char
*,
int
selector
)
Generates
a
prefetch
machine
instruction
,
depending
on
the
value
of
selector
.
If
@
code
{
selector
}
is
0
,
it
generates
@
code
{
prefetchnta
};
for
a
value
of
1
,
it
generates
@
code
{
prefetcht0
};
for
a
value
of
2
,
it
generates
@
code
{
prefetcht1
};
and
for
a
value
of
3
it
generates
@
code
{
prefetcht2
}.
The
following
built
-
in
functions
are
available
when
@
option
{-
msse
}
is
used
.
All
of
them
generate
the
machine
instruction
that
is
part
of
the
name
.
@
end
table
@
example
int
__builtin_ia32_comieq
(
v4sf
,
v4sf
)
int
__builtin_ia32_comineq
(
v4sf
,
v4sf
)
int
__builtin_ia32_comilt
(
v4sf
,
v4sf
)
int
__builtin_ia32_comile
(
v4sf
,
v4sf
)
int
__builtin_ia32_comigt
(
v4sf
,
v4sf
)
int
__builtin_ia32_comige
(
v4sf
,
v4sf
)
int
__builtin_ia32_ucomieq
(
v4sf
,
v4sf
)
int
__builtin_ia32_ucomineq
(
v4sf
,
v4sf
)
int
__builtin_ia32_ucomilt
(
v4sf
,
v4sf
)
int
__builtin_ia32_ucomile
(
v4sf
,
v4sf
)
int
__builtin_ia32_ucomigt
(
v4sf
,
v4sf
)
int
__builtin_ia32_ucomige
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_addps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_subps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_mulps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_divps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_addss
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_subss
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_mulss
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_divss
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpeqps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpltps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpleps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpgtps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpgeps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpunordps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpneqps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpnltps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpnleps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpngtps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpngeps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpordps
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpeqss
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpltss
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpless
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpgtss
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpgess
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpunordss
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpneqss
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpnlts
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpnless
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpngtss
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpngess
(
v4sf
,
v4sf
)
v4si
__builtin_ia32_cmpordss
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_maxps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_maxss
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_minps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_minss
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_andps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_andnps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_orps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_xorps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_movss
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_movhlps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_movlhps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_unpckhps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_unpcklps
(
v4sf
,
v4sf
)
v4sf
__builtin_ia32_cvtpi2ps
(
v4sf
,
v2si
)
v4sf
__builtin_ia32_cvtsi2ss
(
v4sf
,
int
)
v2si
__builtin_ia32_cvtps2pi
(
v4sf
)
int
__builtin_ia32_cvtss2si
(
v4sf
)
v2si
__builtin_ia32_cvttps2pi
(
v4sf
)
int
__builtin_ia32_cvttss2si
(
v4sf
)
v4sf
__builtin_ia32_rcpps
(
v4sf
)
v4sf
__builtin_ia32_rsqrtps
(
v4sf
)
v4sf
__builtin_ia32_sqrtps
(
v4sf
)
v4sf
__builtin_ia32_rcpss
(
v4sf
)
v4sf
__builtin_ia32_rsqrtss
(
v4sf
)
v4sf
__builtin_ia32_sqrtss
(
v4sf
)
v4sf
__builtin_ia32_shufps
(
v4sf
,
v4sf
,
int
)
void
__builtin_ia32_movntps
(
float
*,
v4sf
)
int
__builtin_ia32_movmskps
(
v4sf
)
@
end
example
The
following
built
-
in
functions
are
available
when
@
option
{-
msse
}
is
used
.
@
table
@
code
@
item
int
__builtin_ia32_comieq
(
v4sf
,
v4sf
)
Generates
the
@
code
{
comiss
}
machine
instruction
and
performs
an
equality
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_comineq
(
v4sf
,
v4sf
)
Generates
the
@
code
{
comiss
}
machine
instruction
and
performs
an
inequality
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_comilt
(
v4sf
,
v4sf
)
Generates
the
@
code
{
comiss
}
machine
instruction
and
performs
a
``
less
than
''
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_comile
(
v4sf
,
v4sf
)
Generates
the
@
code
{
comiss
}
machine
instruction
and
performs
a
``
less
or
equal
''
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_comigt
(
v4sf
,
v4sf
)
Generates
the
@
code
{
comiss
}
machine
instruction
and
performs
a
``
greater
than
''
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_comige
(
v4sf
,
v4sf
)
Generates
the
@
code
{
comiss
}
machine
instruction
and
performs
a
``
greater
or
equal
''
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_ucomieq
(
v4sf
,
v4sf
)
Generates
the
@
code
{
ucomiss
}
machine
instruction
and
performs
an
equality
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_ucomineq
(
v4sf
,
v4sf
)
Generates
the
@
code
{
ucomiss
}
machine
instruction
and
performs
an
inequality
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_ucomilt
(
v4sf
,
v4sf
)
Generates
the
@
code
{
ucomiss
}
machine
instruction
and
performs
a
``
less
than
''
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_ucomile
(
v4sf
,
v4sf
)
Generates
the
@
code
{
ucomiss
}
machine
instruction
and
performs
a
``
less
or
equal
''
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_ucomigt
(
v4sf
,
v4sf
)
Generates
the
@
code
{
ucomiss
}
machine
instruction
and
performs
a
``
greater
than
''
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
int
__builtin_ia32_ucomige
(
v4sf
,
v4sf
)
Generates
the
@
code
{
ucomiss
}
machine
instruction
and
performs
a
``
greater
or
equal
''
comparison
.
The
return
value
is
the
truth
value
of
that
comparison
.
@
item
v4sf
__builtin_ia32_addps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
addps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_addss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
addss
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_subps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
subps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_subss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
subss
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_mulps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
mulps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_mulss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
mulss
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_divps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
divps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_divss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
divss
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpeqps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpeqps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmplts
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpltps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpleps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpleps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpgtps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpgtps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpgeps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpgeps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpunordps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpunodps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpneqps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpeqps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpnltps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpltps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpnleps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpleps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpngtps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpgtps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpngeps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpgeps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpordps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpunodps
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpeqss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpeqss
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpltss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpltss
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpless
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpless
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpgtss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpgtss
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpgess
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpgess
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpunordss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpunodss
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpneqss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpeqss
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpnlts
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpltss
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpnless
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpless
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpngtss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpgtss
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpngess
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpgess
}
machine
instruction
.
@
item
v4si
__builtin_ia32_cmpordss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
cmpunodss
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_maxps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
maxps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_maxsss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
maxss
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_minps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
minps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_minsss
(
v4sf
,
v4sf
)
Generates
the
@
code
{
minss
}
machine
instruction
.
@
item
ti
__builtin_ia32_andps
(
ti
,
ti
)
Generates
the
@
code
{
andps
}
machine
instruction
.
@
item
ti
__builtin_ia32_andnps
(
ti
,
ti
)
Generates
the
@
code
{
andnps
}
machine
instruction
.
@
item
ti
__builtin_ia32_orps
(
ti
,
ti
)
Generates
the
@
code
{
orps
}
machine
instruction
.
@
item
ti
__builtin_ia32_xorps
(
ti
,
ti
)
Generates
the
@
code
{
xorps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_movps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
movps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_movhlps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
movhlps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_movlhps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
movlhps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_unpckhps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
unpckhps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_unpcklps
(
v4sf
,
v4sf
)
Generates
the
@
code
{
unpcklps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_cvtpi2ps
(
v4sf
,
v2si
)
Generates
the
@
code
{
cvtpi2ps
}
machine
instruction
.
@
item
v2si
__builtin_ia32_cvtps2pi
(
v4sf
)
Generates
the
@
code
{
cvtps2pi
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_cvtsi2ss
(
v4sf
,
int
)
Generates
the
@
code
{
cvtsi2ss
}
machine
instruction
.
@
item
int
__builtin_ia32_cvtss2si
(
v4sf
)
Generates
the
@
code
{
cvtsi2ss
}
machine
instruction
.
@
item
v2si
__builtin_ia32_cvttps2pi
(
v4sf
)
Generates
the
@
code
{
cvttps2pi
}
machine
instruction
.
@
item
int
__builtin_ia32_cvttss2si
(
v4sf
)
Generates
the
@
code
{
cvttsi2ss
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_rcpps
(
v4sf
)
Generates
the
@
code
{
rcpps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_rsqrtps
(
v4sf
)
Generates
the
@
code
{
rsqrtps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_sqrtps
(
v4sf
)
Generates
the
@
code
{
sqrtps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_rcpss
(
v4sf
)
Generates
the
@
code
{
rcpss
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_rsqrtss
(
v4sf
)
Generates
the
@
code
{
rsqrtss
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_sqrtss
(
v4sf
)
Generates
the
@
code
{
sqrtss
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_shufps
(
v4sf
,
v4sf
,
int
)
Generates
the
@
code
{
shufps
}
machine
instruction
.
@
item
v4sf
__builtin_ia32_loadaps
(
float
*)
Generates
the
@
code
{
movaps
}
machine
instruction
as
a
load
from
memory
.
@
item
void
__builtin_ia32_storeaps
(
float
*,
v4sf
)
...
...
@@ -8048,7 +7900,6 @@ Generates the @code{movups} machine instruction as a store to memory.
Generates
the
@
code
{
movss
}
machine
instruction
as
a
load
from
memory
.
@
item
void
__builtin_ia32_storess
(
float
*,
v4sf
)
Generates
the
@
code
{
movss
}
machine
instruction
as
a
store
to
memory
.
@
item
v4sf
__builtin_ia32_loadhps
(
v4sf
,
v2si
*)
Generates
the
@
code
{
movhps
}
machine
instruction
as
a
load
from
memory
.
@
item
v4sf
__builtin_ia32_loadlps
(
v4sf
,
v2si
*)
...
...
@@ -8057,39 +7908,46 @@ Generates the @code{movlps} machine instruction as a load from memory
Generates
the
@
code
{
movhps
}
machine
instruction
as
a
store
to
memory
.
@
item
void
__builtin_ia32_storelps
(
v4sf
,
v2si
*)
Generates
the
@
code
{
movlps
}
machine
instruction
as
a
store
to
memory
.
@
end
table
@
item
void
__builtin_ia32_movntps
(
float
*,
v4sf
)
Generates
the
@
code
{
movntps
}
machine
instruction
.
@
item
int
__builtin_ia32_movmskps
(
v4sf
)
Generates
the
@
code
{
movntps
}
machine
instruction
.
The
following
built
-
in
functions
are
available
when
@
option
{-
m3dnow
}
is
used
.
All
of
them
generate
the
machine
instruction
that
is
part
of
the
name
.
@
item
void
__builtin_ia32_storeps1
(
float
*,
v4sf
)
Generates
the
@
code
{
movaps
}
machine
instruction
as
a
store
to
memory
.
Before
storing
,
the
value
is
modified
with
a
@
code
{
shufps
}
instruction
so
that
the
lowest
of
the
four
floating
point
elements
is
replicated
across
the
entire
vector
that
is
stored
.
@
item
void
__builtin_ia32_storerps
(
float
*,
v4sf
)
Generates
the
@
code
{
movaps
}
machine
instruction
as
a
store
to
memory
.
Before
storing
,
the
value
is
modified
with
a
@
code
{
shufps
}
instruction
so
that
the
order
of
the
four
floating
point
elements
in
the
vector
is
reversed
.
@
item
v4sf
__builtin_ia32_loadps1
(
float
*)
Generates
a
@
code
{
movss
}
machine
instruction
to
load
a
floating
point
value
from
memory
,
and
a
@
code
{
shufps
}
instruction
to
replicate
the
loaded
value
across
all
four
elements
of
the
result
vector
.
@
item
v4sf
__builtin_ia32_loadrps
(
float
*)
Generates
a
@
code
{
movaps
}
machine
instruction
to
load
a
vector
from
memory
,
and
a
@
code
{
shufps
}
instruction
to
reverse
the
order
of
the
four
floating
point
elements
in
the
result
vector
.
@
item
v4sf
__builtin_ia32_setps
(
float
,
float
,
float
,
float
)
Constructs
a
vector
from
four
single
floating
point
values
.
The
return
value
is
equal
to
the
value
that
would
result
from
storing
the
four
arguments
into
consecutive
memory
locations
and
then
executing
a
@
code
{
movaps
}
to
load
the
vector
from
memory
.
@
item
v4sf
__builtin_ia32_setps1
(
float
)
Constructs
a
vector
from
a
single
floating
point
value
by
replicating
it
across
all
four
elements
of
the
result
vector
.
@
end
table
@
example
void
__builtin_ia32_femms
(
void
)
v8qi
__builtin_ia32_pavgusb
(
v8qi
,
v8qi
)
v2si
__builtin_ia32_pf2id
(
v2sf
)
v2sf
__builtin_ia32_pfacc
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfadd
(
v2sf
,
v2sf
)
v2si
__builtin_ia32_pfcmpeq
(
v2sf
,
v2sf
)
v2si
__builtin_ia32_pfcmpge
(
v2sf
,
v2sf
)
v2si
__builtin_ia32_pfcmpgt
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfmax
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfmin
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfmul
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfrcp
(
v2sf
)
v2sf
__builtin_ia32_pfrcpit1
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfrcpit2
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfrsqrt
(
v2sf
)
v2sf
__builtin_ia32_pfrsqrtit1
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfsub
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfsubr
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pi2fd
(
v2si
)
v4hi
__builtin_ia32_pmulhrw
(
v4hi
,
v4hi
)
@
end
example
The
following
built
-
in
functions
are
available
when
both
@
option
{-
m3dnow
}
and
@
option
{-
march
=
athlon
}
are
used
.
All
of
them
generate
the
machine
instruction
that
is
part
of
the
name
.
@
example
v2si
__builtin_ia32_pf2iw
(
v2sf
)
v2sf
__builtin_ia32_pfnacc
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pfpnacc
(
v2sf
,
v2sf
)
v2sf
__builtin_ia32_pi2fw
(
v2si
)
v2sf
__builtin_ia32_pswapdsf
(
v2sf
)
v2si
__builtin_ia32_pswapdsi
(
v2si
)
@
end
example
@
item
-
mpush
-
args
@
itemx
-
mno
-
push
-
args
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment