trunk/makefile
| r245174 | r245175 | |
| 158 | 158 | COPY = $(SILENT) copy /Y "$(subst /,\\,$(1))" "$(subst /,\\,$(2))" |
| 159 | 159 | endif |
| 160 | 160 | |
| 161 | | GENDIR = build/generated |
| 161 | GENDIR = .build/generated |
| 162 | 162 | |
| 163 | 163 | PYTHON = @python |
| 164 | 164 | CC = @gcc |
| r245174 | r245175 | |
| 201 | 201 | ifndef COMPILE |
| 202 | 202 | $(SILENT) $(GENIE) $(PARAMS) --gcc=mingw64-gcc --targetos=windows --osd=$(OSD) --gcc_version=$(GCC_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 203 | 203 | endif |
| 204 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-mingw64-gcc config=$(CONFIG)64 WINDRES=$(WINDRES) |
| 204 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-mingw64-gcc config=$(CONFIG)64 WINDRES=$(WINDRES) |
| 205 | 205 | |
| 206 | 206 | windows_x86: generate |
| 207 | 207 | ifndef MINGW32 |
| r245174 | r245175 | |
| 210 | 210 | ifndef COMPILE |
| 211 | 211 | $(SILENT) $(GENIE) $(PARAMS) --gcc=mingw32-gcc --targetos=windows --osd=$(OSD) --gcc_version=$(GCC_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 212 | 212 | endif |
| 213 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-mingw32-gcc config=$(CONFIG)32 WINDRES=$(WINDRES) |
| 213 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-mingw32-gcc config=$(CONFIG)32 WINDRES=$(WINDRES) |
| 214 | 214 | |
| 215 | 215 | windows_x64_clang: generate |
| 216 | 216 | ifndef CLANG |
| r245174 | r245175 | |
| 219 | 219 | ifndef COMPILE |
| 220 | 220 | $(SILENT) $(GENIE) $(PARAMS) --gcc=mingw-clang --targetos=windows --osd=$(OSD) --gcc_version=$(CLANG_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 221 | 221 | endif |
| 222 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-mingw-clang config=$(CONFIG)64 WINDRES=$(WINDRES) |
| 222 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-mingw-clang config=$(CONFIG)64 WINDRES=$(WINDRES) |
| 223 | 223 | |
| 224 | 224 | windows_x86_clang: generate |
| 225 | 225 | ifndef CLANG |
| r245174 | r245175 | |
| 228 | 228 | ifndef COMPILE |
| 229 | 229 | $(SILENT) $(GENIE) $(PARAMS) --gcc=mingw-clang --targetos=windows --osd=$(OSD) --gcc_version=$(CLANG_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 230 | 230 | endif |
| 231 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-mingw-clang config=$(CONFIG)32 WINDRES=$(WINDRES) |
| 231 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-mingw-clang config=$(CONFIG)32 WINDRES=$(WINDRES) |
| 232 | 232 | |
| 233 | 233 | vs2010: generate |
| 234 | 234 | $(SILENT) $(GENIE) $(PARAMS) --targetos=$(TARGETOS) --osd=windows --target=$(TARGET) --subtarget=$(SUBTARGET) vs2010 |
| r245174 | r245175 | |
| 264 | 264 | ifndef COMPILE |
| 265 | 265 | $(SILENT) $(GENIE) --gcc=android-arm --osd=osdmini --target=$(TARGET) --gcc_version=4.8 --subtarget=$(SUBTARGET) gmake |
| 266 | 266 | endif |
| 267 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-android-arm config=$(CONFIG) |
| 267 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-android-arm config=$(CONFIG) |
| 268 | 268 | |
| 269 | 269 | android-mips: generate |
| 270 | 270 | ifndef ANDROID_NDK_MIPS |
| r245174 | r245175 | |
| 276 | 276 | ifndef COMPILE |
| 277 | 277 | $(SILENT) $(GENIE) --gcc=android-mips --osd=osdmini --target=$(TARGET) --gcc_version=4.8 --subtarget=$(SUBTARGET) gmake |
| 278 | 278 | endif |
| 279 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-android-mips config=$(CONFIG) |
| 279 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-android-mips config=$(CONFIG) |
| 280 | 280 | |
| 281 | 281 | android-x86: generate |
| 282 | 282 | ifndef ANDROID_NDK_X86 |
| r245174 | r245175 | |
| 288 | 288 | ifndef COMPILE |
| 289 | 289 | $(SILENT) $(GENIE) --gcc=android-x86 --osd=osdmini --target=$(TARGET) --gcc_version=4.8 --subtarget=$(SUBTARGET) gmake |
| 290 | 290 | endif |
| 291 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-android-x86 config=$(CONFIG) |
| 291 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-android-x86 config=$(CONFIG) |
| 292 | 292 | |
| 293 | 293 | asmjs: generate |
| 294 | 294 | ifndef EMSCRIPTEN |
| r245174 | r245175 | |
| 297 | 297 | ifndef COMPILE |
| 298 | 298 | $(SILENT) $(GENIE) --gcc=asmjs --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 299 | 299 | endif |
| 300 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-asmjs config=$(CONFIG) |
| 300 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-asmjs config=$(CONFIG) |
| 301 | 301 | |
| 302 | 302 | nacl_x64: generate |
| 303 | 303 | ifndef NACL_SDK_ROOT |
| r245174 | r245175 | |
| 306 | 306 | ifndef COMPILE |
| 307 | 307 | $(SILENT) $(GENIE) --gcc=nacl --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 308 | 308 | endif |
| 309 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-nacl config=$(CONFIG)64 |
| 309 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-nacl config=$(CONFIG)64 |
| 310 | 310 | |
| 311 | 311 | nacl_x86: generate |
| 312 | 312 | ifndef NACL_SDK_ROOT |
| r245174 | r245175 | |
| 315 | 315 | ifndef COMPILE |
| 316 | 316 | $(SILENT) $(GENIE) --gcc=nacl --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 317 | 317 | endif |
| 318 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-nacl config=$(CONFIG)32 |
| 318 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-nacl config=$(CONFIG)32 |
| 319 | 319 | |
| 320 | 320 | nacl-arm: generate |
| 321 | 321 | ifndef NACL_SDK_ROOT |
| r245174 | r245175 | |
| 324 | 324 | ifndef COMPILE |
| 325 | 325 | $(SILENT) $(GENIE) --gcc=nacl-arm --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 326 | 326 | endif |
| 327 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-nacl-arm config=$(CONFIG) |
| 327 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-nacl-arm config=$(CONFIG) |
| 328 | 328 | |
| 329 | 329 | pnacl: generate |
| 330 | 330 | ifndef NACL_SDK_ROOT |
| r245174 | r245175 | |
| 333 | 333 | ifndef COMPILE |
| 334 | 334 | $(SILENT) $(GENIE) --gcc=pnacl --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 335 | 335 | endif |
| 336 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-pnacl config=$(CONFIG) |
| 336 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-pnacl config=$(CONFIG) |
| 337 | 337 | |
| 338 | 338 | linux_x64: generate |
| 339 | 339 | ifndef COMPILE |
| 340 | 340 | $(SILENT) $(GENIE) $(PARAMS) --gcc=linux-gcc --targetos=$(TARGETOS) --osd=$(OSD) --gcc_version=$(GCC_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 341 | 341 | endif |
| 342 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-linux config=$(CONFIG)64 |
| 342 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-linux config=$(CONFIG)64 |
| 343 | 343 | |
| 344 | 344 | linux_x86: generate |
| 345 | 345 | ifndef COMPILE |
| 346 | 346 | $(SILENT) $(GENIE) $(PARAMS) --gcc=linux-gcc --targetos=$(TARGETOS) --osd=$(OSD) --gcc_version=$(GCC_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 347 | 347 | endif |
| 348 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-linux config=$(CONFIG)32 |
| 348 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-linux config=$(CONFIG)32 |
| 349 | 349 | |
| 350 | 350 | linux_x64_clang: generate |
| 351 | 351 | ifndef COMPILE |
| 352 | 352 | $(SILENT) $(GENIE) $(PARAMS) --gcc=linux-clang --targetos=$(TARGETOS) --osd=$(OSD) --gcc_version=$(CLANG_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 353 | 353 | endif |
| 354 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-linux-clang config=$(CONFIG)64 |
| 354 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-linux-clang config=$(CONFIG)64 |
| 355 | 355 | |
| 356 | 356 | linux_x86_clang: generate |
| 357 | 357 | ifndef COMPILE |
| 358 | 358 | $(SILENT) $(GENIE) $(PARAMS) --gcc=linux-clang --targetos=$(TARGETOS) --osd=$(OSD) --gcc_version=$(CLANG_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 359 | 359 | endif |
| 360 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-linux-clang config=$(CONFIG)32 |
| 360 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-linux-clang config=$(CONFIG)32 |
| 361 | 361 | |
| 362 | 362 | macosx_x64: generate |
| 363 | 363 | ifndef COMPILE |
| 364 | 364 | $(SILENT) $(GENIE) $(PARAMS) --gcc=osx --targetos=macosx --osd=$(OSD) --gcc_version=$(GCC_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 365 | 365 | endif |
| 366 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-osx config=$(CONFIG)64 |
| 366 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-osx config=$(CONFIG)64 |
| 367 | 367 | |
| 368 | 368 | macosx_x86: generate |
| 369 | 369 | ifndef COMPILE |
| 370 | 370 | $(SILENT) $(GENIE) $(PARAMS) --gcc=osx --targetos=macosx --os_version=$(DARWIN_VERSION) --osd=$(OSD) --gcc_version=$(GCC_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake |
| 371 | 371 | endif |
| 372 | | $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-osx config=$(CONFIG)32 |
| 372 | $(SILENT) $(MAKE) --no-print-directory -R -C .build/projects/gmake-osx config=$(CONFIG)32 |
| 373 | 373 | |
| 374 | 374 | $(GENIE): |
| 375 | 375 | $(SILENT) $(MAKE) --no-print-directory -R -C 3rdparty/genie/build/gmake.$(OS) -f genie.make |
| 376 | 376 | |
| 377 | 377 | clean: |
| 378 | 378 | @echo Cleaning... |
| 379 | | -@rm -rf build |
| 379 | -@rm -rf .build |
| 380 | 380 | $(SILENT) $(MAKE) --no-print-directory -R -C 3rdparty/genie/build/gmake.$(OS) -f genie.make clean |
| 381 | 381 | |
| 382 | 382 | GEN_FOLDERS := \ |
trunk/src/emu/cpu/i386/pentops.inc
| r245174 | r245175 | |
| 4417 | 4417 | switch (imm8 & 7) |
| 4418 | 4418 | { |
| 4419 | 4419 | case 0: |
| 4420 | | d.q[0]=d.f64[0] == s.f64[0] ? 0xffffffffffffffff : 0; |
| 4421 | | d.q[1]=d.f64[1] == s.f64[1] ? 0xffffffffffffffff : 0; |
| 4420 | d.q[0]=d.f64[0] == s.f64[0] ? U64(0xffffffffffffffff) : 0; |
| 4421 | d.q[1]=d.f64[1] == s.f64[1] ? U64(0xffffffffffffffff) : 0; |
| 4422 | 4422 | break; |
| 4423 | 4423 | case 1: |
| 4424 | | d.q[0]=d.f64[0] < s.f64[0] ? 0xffffffffffffffff : 0; |
| 4425 | | d.q[1]=d.f64[1] < s.f64[1] ? 0xffffffffffffffff : 0; |
| 4424 | d.q[0]=d.f64[0] < s.f64[0] ? U64(0xffffffffffffffff) : 0; |
| 4425 | d.q[1]=d.f64[1] < s.f64[1] ? U64(0xffffffffffffffff) : 0; |
| 4426 | 4426 | break; |
| 4427 | 4427 | case 2: |
| 4428 | | d.q[0]=d.f64[0] <= s.f64[0] ? 0xffffffffffffffff : 0; |
| 4429 | | d.q[1]=d.f64[1] <= s.f64[1] ? 0xffffffffffffffff : 0; |
| 4428 | d.q[0]=d.f64[0] <= s.f64[0] ? U64(0xffffffffffffffff) : 0; |
| 4429 | d.q[1]=d.f64[1] <= s.f64[1] ? U64(0xffffffffffffffff) : 0; |
| 4430 | 4430 | break; |
| 4431 | 4431 | case 3: |
| 4432 | | d.q[0]=sse_isdoubleunordered(d.f64[0], s.f64[0]) ? 0xffffffffffffffff : 0; |
| 4433 | | d.q[1]=sse_isdoubleunordered(d.f64[1], s.f64[1]) ? 0xffffffffffffffff : 0; |
| 4432 | d.q[0]=sse_isdoubleunordered(d.f64[0], s.f64[0]) ? U64(0xffffffffffffffff) : 0; |
| 4433 | d.q[1]=sse_isdoubleunordered(d.f64[1], s.f64[1]) ? U64(0xffffffffffffffff) : 0; |
| 4434 | 4434 | break; |
| 4435 | 4435 | case 4: |
| 4436 | | d.q[0]=d.f64[0] != s.f64[0] ? 0xffffffffffffffff : 0; |
| 4437 | | d.q[1]=d.f64[1] != s.f64[1] ? 0xffffffffffffffff : 0; |
| 4436 | d.q[0]=d.f64[0] != s.f64[0] ? U64(0xffffffffffffffff) : 0; |
| 4437 | d.q[1]=d.f64[1] != s.f64[1] ? U64(0xffffffffffffffff) : 0; |
| 4438 | 4438 | break; |
| 4439 | 4439 | case 5: |
| 4440 | | d.q[0]=d.f64[0] < s.f64[0] ? 0 : 0xffffffffffffffff; |
| 4441 | | d.q[1]=d.f64[1] < s.f64[1] ? 0 : 0xffffffffffffffff; |
| 4440 | d.q[0]=d.f64[0] < s.f64[0] ? 0 : U64(0xffffffffffffffff); |
| 4441 | d.q[1]=d.f64[1] < s.f64[1] ? 0 : U64(0xffffffffffffffff); |
| 4442 | 4442 | break; |
| 4443 | 4443 | case 6: |
| 4444 | | d.q[0]=d.f64[0] <= s.f64[0] ? 0 : 0xffffffffffffffff; |
| 4445 | | d.q[1]=d.f64[1] <= s.f64[1] ? 0 : 0xffffffffffffffff; |
| 4444 | d.q[0]=d.f64[0] <= s.f64[0] ? 0 : U64(0xffffffffffffffff); |
| 4445 | d.q[1]=d.f64[1] <= s.f64[1] ? 0 : U64(0xffffffffffffffff); |
| 4446 | 4446 | break; |
| 4447 | 4447 | case 7: |
| 4448 | | d.q[0]=sse_isdoubleordered(d.f64[0], s.f64[0]) ? 0xffffffffffffffff : 0; |
| 4449 | | d.q[1]=sse_isdoubleordered(d.f64[1], s.f64[1]) ? 0xffffffffffffffff : 0; |
| 4448 | d.q[0]=sse_isdoubleordered(d.f64[0], s.f64[0]) ? U64(0xffffffffffffffff) : 0; |
| 4449 | d.q[1]=sse_isdoubleordered(d.f64[1], s.f64[1]) ? U64(0xffffffffffffffff) : 0; |
| 4450 | 4450 | break; |
| 4451 | 4451 | } |
| 4452 | 4452 | } |
| r245174 | r245175 | |
| 4487 | 4487 | switch (imm8 & 7) |
| 4488 | 4488 | { |
| 4489 | 4489 | case 0: |
| 4490 | | d.q[0]=d.f64[0] == s.f64[0] ? 0xffffffffffffffff : 0; |
| 4490 | d.q[0]=d.f64[0] == s.f64[0] ? U64(0xffffffffffffffff) : 0; |
| 4491 | 4491 | break; |
| 4492 | 4492 | case 1: |
| 4493 | | d.q[0]=d.f64[0] < s.f64[0] ? 0xffffffffffffffff : 0; |
| 4493 | d.q[0]=d.f64[0] < s.f64[0] ? U64(0xffffffffffffffff) : 0; |
| 4494 | 4494 | break; |
| 4495 | 4495 | case 2: |
| 4496 | | d.q[0]=d.f64[0] <= s.f64[0] ? 0xffffffffffffffff : 0; |
| 4496 | d.q[0]=d.f64[0] <= s.f64[0] ? U64(0xffffffffffffffff) : 0; |
| 4497 | 4497 | break; |
| 4498 | 4498 | case 3: |
| 4499 | | d.q[0]=sse_isdoubleunordered(d.f64[0], s.f64[0]) ? 0xffffffffffffffff : 0; |
| 4499 | d.q[0]=sse_isdoubleunordered(d.f64[0], s.f64[0]) ? U64(0xffffffffffffffff) : 0; |
| 4500 | 4500 | break; |
| 4501 | 4501 | case 4: |
| 4502 | | d.q[0]=d.f64[0] != s.f64[0] ? 0xffffffffffffffff : 0; |
| 4502 | d.q[0]=d.f64[0] != s.f64[0] ? U64(0xffffffffffffffff) : 0; |
| 4503 | 4503 | break; |
| 4504 | 4504 | case 5: |
| 4505 | | d.q[0]=d.f64[0] < s.f64[0] ? 0 : 0xffffffffffffffff; |
| 4505 | d.q[0]=d.f64[0] < s.f64[0] ? 0 : U64(0xffffffffffffffff); |
| 4506 | 4506 | break; |
| 4507 | 4507 | case 6: |
| 4508 | | d.q[0]=d.f64[0] <= s.f64[0] ? 0 : 0xffffffffffffffff; |
| 4508 | d.q[0]=d.f64[0] <= s.f64[0] ? 0 : U64(0xffffffffffffffff); |
| 4509 | 4509 | break; |
| 4510 | 4510 | case 7: |
| 4511 | | d.q[0]=sse_isdoubleordered(d.f64[0], s.f64[0]) ? 0xffffffffffffffff : 0; |
| 4511 | d.q[0]=sse_isdoubleordered(d.f64[0], s.f64[0]) ? U64(0xffffffffffffffff) : 0; |
| 4512 | 4512 | break; |
| 4513 | 4513 | } |
| 4514 | 4514 | } |