Implemented VRSQRT14 AVX-512 instructions & optimized legacy SSE RSQRTSS/PS instructions handling

//
// The table lookup was reverse-engineered from VRSQRT14SS instruction implementation available
// in the Intel Software Development Emulator rev6.20 (released February 13, 2014)
// http://software.intel.com/en-us/articles/intel-software-development-emulator/
//

// TODO: find better way to emulate these instructions, I am sure the HW doesn't have 64K entry lookup tables

Now only missed AVX-512 opcodes now are:

512.66.0F38.W0 2C VSCALEFPS
512.66.0F38.W1 2C VSCALEFPD
NDS.LIG.66.0F38.W0 2D VSCALESS
NDS.LIG.66.0F38.W1 2D VSCALESD

512.66.0F3A.W0 08 VRNDSCALEPS
512.66.0F3A.W1 09 VRNDSCALEPD
NDS.LIG.66.0F3A.W1 0A VRNDSCALESS
NDS.LIG.66.0F3A.W1 0B VRNDSCALESD


git-svn-id: svn://svn.code.sf.net/p/bochs/code/trunk@12209 6c8e4198-a580-4521-a02f-c9ae86df1db9
Somw work to make the new slirp module compile and work with MSVC
- added container_of() macro replacement
- fixed unresolved symbol in netmod.cc
- added MSVC-style structure packing pragmas
- check for the presence of min / max macros
- enabled slirp_new for MSVC in configure script
TODO list:
- check for more updates from Qemu
- fix lots of compiler warnings
- reduce code duplication with 'vnet' module (DHCP, TFTP, ARP)
- add separate config file for slirp to make it more flexible (using the
  'script' parameter)
- update MSVC workspace files
- add SMB support on Linux
- remove slirp backend module after next Bochs release


git-svn-id: svn://svn.code.sf.net/p/bochs/code/trunk@12210 6c8e4198-a580-4521-a02f-c9ae86df1db9
regenerated after adding MSVC slirp support


git-svn-id: svn://svn.code.sf.net/p/bochs/code/trunk@12211 6c8e4198-a580-4521-a02f-c9ae86df1db9
fix vmexit reason descriptions

git-svn-id: svn://svn.code.sf.net/p/bochs/code/trunk@12212 6c8e4198-a580-4521-a02f-c9ae86df1db9
use names instead of magic numbers

git-svn-id: svn://svn.code.sf.net/p/bochs/code/trunk@12213 6c8e4198-a580-4521-a02f-c9ae86df1db9
Implemented VRNDSCALE AVX-512 instructions.

Now only missed AVX-512 opcodes now are:

512.66.0F38.W0 2C VSCALEFPS
512.66.0F38.W1 2C VSCALEFPD
NDS.LIG.66.0F38.W0 2D VSCALESS
NDS.LIG.66.0F38.W1 2D VSCALESD


git-svn-id: svn://svn.code.sf.net/p/bochs/code/trunk@12214 6c8e4198-a580-4521-a02f-c9ae86df1db9
Some work on the new slirp module
- added dnssearch sources from latest Qemu slirp (currently unused feature)
- minor other updates from Qemu slirp
- add #if blocks around already up-to-date slirp sources for conditional compilation
- TODO: finish updating from Qemu and start fixing compiler warnings


git-svn-id: svn://svn.code.sf.net/p/bochs/code/trunk@12215 6c8e4198-a580-4521-a02f-c9ae86df1db9
Implemented AVX-512 conflict detection instructions (VPCONFLICT, VPLZCNT, VPBROADCASTMB2Q, VPBROADCASTMW2D)

Only missed AVX-512 opcodes are:

512.66.0F38.W0 2C VSCALEFPS
512.66.0F38.W1 2C VSCALEFPD
NDS.LIG.66.0F38.W0 2D VSCALESS
NDS.LIG.66.0F38.W1 2D VSCALESD


git-svn-id: svn://svn.code.sf.net/p/bochs/code/trunk@12216 6c8e4198-a580-4521-a02f-c9ae86df1db9
Some work on the new slirp module
- applied remaining updates from Qemu slirp
- add #if blocks to all slirp .cc files for conditional compilation
- fixed some uninitialized variable warnings


git-svn-id: svn://svn.code.sf.net/p/bochs/code/trunk@12217 6c8e4198-a580-4521-a02f-c9ae86df1db9