No. The doc tells you that add-to-list
adds a single element.
You can do what you want with this, for example:
(defun add-list-to-list-var (list-var new-elements &optional append compare-fn)
"Like `add-to-list', but add multiple elements NEW-ELEMENTS, in order."
(interactive)
(setq new-elements (if append new-elements (reverse new-elements)))
(let* ((val (symbol-value list-var))
(lst (if append (reverse val) val)))
(dolist (elt new-elements)
(cl-pushnew elt lst :test compare-fn))
(set list-var (if append (nreverse lst) lst)))
(symbol-value list-var))
;; Check it:
(setq bar '("a" "b"))
(setq foo '("1" "2" "b" "4" "5"))
(add-list-to-list-var 'foo bar) ; ("a" "b" "1" "2" "b" "4" "5")
(setq foo '("1" "2" "b" "4" "5"))
(add-list-to-list-var 'foo bar 'APPEND) ; ("1" "2" "b" "4" "5" "a" "b")
(setq foo '("1" "2" "b" "4" "5"))
(add-list-to-list-var 'foo bar nil #'string=) ; ("a" "1" "2" "b" "4" "5")
(setq foo '("1" "2" "b" "4" "5"))
(add-list-to-list-var 'foo bar 'APPEND #'string=) ; ("1" "2" "b" "4" "5" "a")
*scratch*
buffer, what doesauto-mode-alist
look like afterwards?