Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 134 for isel (0.13 sec)

  1. test/codegen/bool.go

    	// ppc64x/power9:"FCMP","ISEL",-"SETBC\tCR0LT"
    	// ppc64x/power8:"FCMP","ISEL",-"SETBC\tCR0LT"
    	b := x < y
    	return b
    }
    func TestSetLeFp64(x float64, y float64) bool {
    	// ppc64x/power10:"SETBC\tCR0LT","SETBC\tCR0EQ","OR",-"ISEL",-"ISEL"
    	// ppc64x/power9:"ISEL","ISEL",-"SETBC\tCR0LT",-"SETBC\tCR0EQ","OR"
    	// ppc64x/power8:"ISEL","ISEL",-"SETBC\tCR0LT",-"SETBC\tCR0EQ","OR"
    	b := x <= y
    	return b
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Nov 13 22:12:32 UTC 2023
    - 6.7K bytes
    - Viewed (0)
  2. test/codegen/shift.go

    		r1 = val64 >> shift
    	}
    	if shift >= 0 && shift < 32 {
    		// arm64:"LSR",-"CSEL"
    		r2 = val32 >> shift
    	}
    	if shift >= 0 && shift < 16 {
    		// arm64:"LSR",-"CSEL"
    		r3 = val16 >> shift
    	}
    	if shift >= 0 && shift < 8 {
    		// arm64:"LSR",-"CSEL"
    		r4 = val8 >> shift
    	}
    	return r1, r2, r3, r4
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 18:53:43 UTC 2024
    - 12.7K bytes
    - Viewed (0)
  3. test/codegen/condmove.go

    func cmovint(c int) int {
    	x := c + 4
    	if x < 0 {
    		x = 182
    	}
    	// amd64:"CMOVQLT"
    	// arm64:"CSEL\tLT"
    	// ppc64x:"ISEL\t[$]0"
    	// wasm:"Select"
    	return x
    }
    
    func cmovchan(x, y chan int) chan int {
    	if x != y {
    		x = y
    	}
    	// amd64:"CMOVQNE"
    	// arm64:"CSEL\tNE"
    	// ppc64x:"ISEL\t[$]2"
    	// wasm:"Select"
    	return x
    }
    
    func cmovuintptr(x, y uintptr) uintptr {
    	if x < y {
    		x = -y
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Oct 06 20:57:33 UTC 2023
    - 6.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/_gen/PPC64latelower.rules

    // Simplify ISEL x $0 z into ISELZ
    (ISEL [a] x (MOVDconst [0]) z) => (ISELZ [a] x z)
    // Simplify ISEL $0 y z into ISELZ by inverting comparison and reversing arguments.
    (ISEL [a] (MOVDconst [0]) y z) => (ISELZ [a^0x4] y z)
    
    // SETBC, SETBCR is supported on ISA 3.1(Power10) and newer, use ISELZ for
    // older targets
    (SETBC [2] cmp) && buildcfg.GOPPC64 <= 9 => (ISELZ [2] (MOVDconst [1]) cmp)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 3.8K bytes
    - Viewed (0)
  5. src/internal/bytealg/equal_ppc64x.s

    	SRD	R14, R15, R6		// Clear the lower (8-len) bytes
    	SRD	R14, R16, R9
    #ifdef GOARCH_ppc64le
    	ISEL	CR1LT, R7, R6, R8      // Choose the correct len bytes to compare based on alignment
    	ISEL	CR0LT, R17, R9, R4
    #else
    	ISEL	CR1LT, R6, R7, R8
    	ISEL	CR0LT, R9, R17, R4
    #endif
    	CMP	R4, R8
    	ISEL	CR0EQ, R11, R0, R3
    	RET
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 21 16:47:45 UTC 2023
    - 4.9K bytes
    - Viewed (0)
  6. src/internal/bytealg/compare_ppc64x.s

    // -1 is in R20, and 1 is in R21. crxlt and crxeq must
    // also be the same CR field.
    #define _SETB(crxlt, crxeq, rout) \
    	ISEL	crxeq,R0,R21,rout \
    	ISEL	crxlt,R20,rout,rout
    
    // A special case when it is know the comparison
    // will always be not equal. The result must be -1 or 1.
    #define SETB_CR0_NE(rout) \
    	ISEL	CR0LT,R20,R21,rout
    
    #define SETB_CR0(rout) _SETB(CR0LT, CR0EQ, rout)
    #define SETB_CR1(rout) _SETB(CR1LT, CR1EQ, rout)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Aug 28 17:33:20 UTC 2023
    - 6.7K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/_gen/PPC64.rules

    (ISEL [1] _ y (Flag(EQ|LT))) => y
    (ISEL [1] x _ (FlagGT)) => x
    
    (ISEL [4] x _ (Flag(EQ|GT))) => x
    (ISEL [4] _ y (FlagLT)) => y
    
    (SETBC [n] (InvertFlags bool)) => (SETBCR [n] bool)
    (SETBCR [n] (InvertFlags bool)) => (SETBC [n] bool)
    
    (ISEL [n] x y (InvertFlags bool)) && n%4 == 0 => (ISEL [n+1] x y bool)
    (ISEL [n] x y (InvertFlags bool)) && n%4 == 1 => (ISEL [n-1] x y bool)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 53.2K bytes
    - Viewed (0)
  8. src/internal/runtime/syscall/asm_linux_ppc64x.s

    	MOVD	R4, R3
    	MOVD	R5, R4
    	MOVD	R6, R5
    	MOVD	R7, R6
    	MOVD	R8, R7
    	MOVD	R9, R8
    	SYSCALL	R10
    	MOVD	$-1, R6
    	ISEL	CR0SO, R3, R0, R5 // errno = (error) ? R3 : 0
    	ISEL	CR0SO, R6, R3, R3 // r1 = (error) ? -1 : 0
    	MOVD	$0, R4            // r2 is not used on linux/ppc64
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Feb 21 21:28:32 UTC 2024
    - 702 bytes
    - Viewed (0)
  9. src/internal/bytealg/indexbyte_ppc64x.s

    	BEQ	notfound		// Is length <= 32? (CR0 holds this comparison on entry to cmp32)
    	CMP	R4,$48
    
    	ADD	R4,R8,R9		// Compute &s[len(s)-16]
    	ADD	$32,R8,R8
    	ADD	$-16,R9,R9
    	ISEL	CR0GT,R8,R9,R8		// R8 = len(s) <= 48 ? R9 : R8
    
    	// Bytes 33 - 47
    	LXVD2X	(R0)(R8),V2
    	VCMPEQUBCC	V2,V1,V6
    	BNE	CR6,foundat0		// match found at R8+32 bytes, jump out
    
    	BLE	notfound
    
    	// Bytes 48 - 63
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 21 16:10:29 UTC 2023
    - 6.3K bytes
    - Viewed (0)
  10. src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/plan9.go

    		return op + " " + args[0] + "," + args[1] + "," + args[2]
    	case SYNC:
    		if args[0] == "$1" {
    			return "LWSYNC"
    		}
    		return "HWSYNC"
    
    	case ISEL:
    		return "ISEL " + args[3] + "," + args[1] + "," + args[2] + "," + args[0]
    
    	// store instructions always have the memory operand at the end, no need to reorder
    	// indexed stores handled separately
    	case STB, STBU,
    		STH, STHU,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 22 17:16:14 UTC 2022
    - 10.9K bytes
    - Viewed (0)
Back to top