Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 8 of 8 for DMB (0.1 sec)

  1. src/internal/runtime/atomic/sys_nonlinux_arm.s

    	MOVW	(R0), R1
    
    	MOVB	runtime·goarm(SB), R11
    	CMP	$7, R11
    	BLT	2(PC)
    	DMB	MB_ISH
    
    	MOVW	R1, ret+4(FP)
    	RET
    
    TEXT	·Store(SB),NOSPLIT,$0-8
    	MOVW	addr+0(FP), R1
    	MOVW	v+4(FP), R2
    
    	MOVB	runtime·goarm(SB), R8
    	CMP	$7, R8
    	BLT	2(PC)
    	DMB	MB_ISH
    
    	MOVW	R2, (R1)
    
    	CMP	$7, R8
    	BLT	2(PC)
    	DMB	MB_ISH
    	RET
    
    TEXT	·Load8(SB),NOSPLIT|NOFRAME,$0-5
    	MOVW	addr+0(FP), R0
    	MOVB	(R0), R1
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 1.3K bytes
    - Viewed (0)
  2. src/runtime/time_windows_arm.s

    //go:build !faketime
    
    #include "go_asm.h"
    #include "textflag.h"
    #include "time_windows.h"
    
    TEXT time·now(SB),NOSPLIT,$0-20
    	MOVW	$_INTERRUPT_TIME, R3
    loop:
    	MOVW	time_hi1(R3), R1
    	DMB	MB_ISH
    	MOVW	time_lo(R3), R0
    	DMB	MB_ISH
    	MOVW	time_hi2(R3), R2
    	CMP	R1, R2
    	BNE	loop
    
    	// wintime = R1:R0, multiply by 100
    	MOVW	$100, R2
    	MULLU	R0, R2, (R4, R3)    // R4:R3 = R1:R0 * R2
    	MULA	R1, R2, R4, R4
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Sep 07 17:19:45 UTC 2023
    - 2K bytes
    - Viewed (0)
  3. src/internal/runtime/atomic/sys_linux_arm.s

    	CMP	$7, R11
    	BGE	native_barrier
    	BL	memory_barrier<>(SB)
    	B	end
    native_barrier:
    	DMB	MB_ISH
    end:
    	MOVW	R1, ret+4(FP)
    	RET
    
    TEXT	·Store(SB),NOSPLIT,$0-8
    	MOVW	addr+0(FP), R1
    	MOVW	v+4(FP), R2
    
    	MOVB	runtime·goarm(SB), R8
    	CMP	$7, R8
    	BGE	native_barrier
    	BL	memory_barrier<>(SB)
    	B	store
    native_barrier:
    	DMB	MB_ISH
    
    store:
    	MOVW	R2, (R1)
    
    	CMP	$7, R8
    	BGE	native_barrier2
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 2.8K bytes
    - Viewed (0)
  4. tests/binary/binaries_test.go

    			t.Fatal(err)
    		}
    		got := fi.Size() / (1000 * 1000)
    		t.Logf("Actual size: %dmb. Range: [%dmb, %dmb]", got, tt.minMb, tt.maxMb)
    		if got > tt.maxMb {
    			t.Fatalf("Binary size of %dmb was greater than max allowed size %dmb", got, tt.maxMb)
    		}
    		if got < tt.minMb {
    			t.Fatalf("Binary size of %dmb was smaller than min allowed size %dmb. This is very likely a good thing, "+
    Registered: Fri Jun 14 15:00:06 UTC 2024
    - Last Modified: Thu May 23 15:07:03 UTC 2024
    - 4.8K bytes
    - Viewed (0)
  5. src/internal/runtime/atomic/atomic_arm.s

    swap64loop:
    	LDREXD	(R1), R4	// loads R4 and R5
    
    	DMB	MB_ISHST
    
    	STREXD	R2, (R1), R0	// stores R2 and R3
    	CMP	$0, R0
    	BNE	swap64loop
    
    	DMB	MB_ISH
    
    	MOVW	R4, old_lo+12(FP)
    	MOVW	R5, old_hi+16(FP)
    	RET
    
    TEXT armLoad64<>(SB),NOSPLIT,$0-12
    	// addr is already in R1
    
    	LDREXD	(R1), R2	// loads R2 and R3
    	DMB	MB_ISH
    
    	MOVW	R2, val_lo+4(FP)
    	MOVW	R3, val_hi+8(FP)
    	RET
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 5.7K bytes
    - Viewed (0)
  6. src/internal/runtime/atomic/atomic_riscv64.s

    //
    //   - If both are set, the CPU may not reorder the instruction at all.
    //
    // These four modes correspond to other well-known memory models on other CPUs.
    // On ARM, aq corresponds to a dmb ishst, aq+rl corresponds to a dmb ish. On
    // Intel, aq corresponds to an lfence, rl to an sfence, and aq+rl to an mfence
    // (or a lock prefix).
    //
    // Go's memory model requires that
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 7K bytes
    - Viewed (0)
  7. src/internal/cpu/cpu_arm.go

    	ARM.HasIDIVA = isSet(HWCap, hwcap_IDIVA)
    	// lpae is required to make the 64-bit instructions LDRD and STRD (and variants) atomic.
    	// See ARMv7 manual section B1.6.
    	// We also need at least a v7 chip, for the DMB instruction.
    	ARM.HasV7Atomics = isSet(HWCap, hwcap_LPAE) && isV7(Platform)
    }
    
    func isSet(hwc uint, value uint) bool {
    	return hwc&value != 0
    }
    
    func isV7(s string) bool {
    	if s == "aarch64" {
    		return true
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 31 20:38:55 UTC 2023
    - 1.3K bytes
    - Viewed (0)
  8. src/runtime/sys_windows_arm.s

    TEXT runtime·read_tls_fallback(SB),NOSPLIT,$0
    	MOVW	$0xabcd, R0
    	MOVW	R0, (R0)
    	RET
    
    TEXT runtime·nanotime1(SB),NOSPLIT,$0-8
    loop:
    	MOVW	time_hi1(R3), R1
    	DMB	MB_ISH
    	MOVW	time_lo(R3), R0
    	DMB	MB_ISH
    	MOVW	time_hi2(R3), R2
    	CMP	R1, R2
    	BNE	loop
    
    	// wintime = R1:R0, multiply by 100
    	MOVW	$100, R2
    	MULLU	R0, R2, (R4, R3)    // R4:R3 = R1:R0 * R2
    	MULA	R1, R2, R4, R4
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Sep 21 15:56:43 UTC 2023
    - 7.7K bytes
    - Viewed (0)
Back to top