We dont actually need vzeroupper at start of function
GCC emits vzeroupper automatically when compiling with native optimizations but we still need it otherwise
This commit is contained in:
parent
16d36c46fe
commit
a7c06b38e6
2 changed files with 0 additions and 5 deletions
|
|
@ -297,7 +297,6 @@ FUNC(zero_last_n_bytes)(integer_t vec, const integer_t index, char n) {
|
|||
}
|
||||
|
||||
#define find_match(haystack, sz, get_test_vec) { \
|
||||
/* zero_upper(); this is disabled as some buggy compilers re-order instructions causing the test result vec to be zero after the test */\
|
||||
const uint8_t* limit = haystack + sz; \
|
||||
integer_t chunk; int n; \
|
||||
\
|
||||
|
|
|
|||
|
|
@ -1153,10 +1153,6 @@ func (s *Function) OutputASM(w io.Writer) {
|
|||
s.print_signature(w)
|
||||
fmt.Fprintf(w, "\nTEXT ·%s(SB), NOSPLIT, $0-%d\n", s.Name, s.Size)
|
||||
|
||||
if s.Used256BitReg {
|
||||
fmt.Fprintln(w, "\tVZEROUPPER // zero upper bits of AVX registers to avoid dependencies when switching between SSE and AVX code")
|
||||
}
|
||||
|
||||
has_trailing_return := false
|
||||
for _, i := range s.Instructions {
|
||||
if len(i) == 0 {
|
||||
|
|
|
|||
Loading…
Reference in a new issue