After much confusion, I discovered That BLAS.syr! gives incorrect results when using a view. Is this a bug, or is it not recommended to use views with BLAS functions?
julia> a1 = zeros(2,2); a2 = zeros(2, 2); x = randn(5, 2); julia> BLAS.syr!('U', 1.0, view(x, 1, :), a1) 2×2 Array{Float64,2}: 0.483364 0.440104 0.0 0.400716 julia> BLAS.syr!('U', 1.0, x[1, :], a2) 2×2 Array{Float64,2}: 0.483364 0.458034 0.0 0.434032 However, BLAS.syrk! appears to work: julia> a1 = zeros(2,2); a2 = zeros(2, 2); x = randn(5, 2); julia> BLAS.syrk!('U', 'T', 1.0, x, 0.0, a1) 2×2 Array{Float64,2}: 4.16346 -0.618009 0.0 4.75777 julia> BLAS.syrk!('U', 'T', 1.0, view(x, :, :), 0.0, a2) 2×2 Array{Float64,2}: 4.16346 -0.618009 0.0 4.75777